我目前正在使用下面的代码尝试从中读取随机行random.txt并将其传递给它$data,但它会返回空白.每个字符串都有自己的行,我在这里遗漏了什么吗?这不应该工作吗?如果不是如何从我的文本文件中获取随机行并将其用作我的$data字符串?
$f_contents = file("random.txt");
$line = $f_contents[array_rand($f_contents)];
$data = $line;
Run Code Online (Sandbox Code Playgroud)
解决了 - 糟糕的CHMOD 思想我已经仔细检查过,抱歉发布了一个问题.
好的,这是一个非常基本的问题我确定但我是PHP新手并且无法弄明白.输入字符串是$ data我试图继续拉动并仅使用第一个匹配.以下是不正确的?这甚至可能不是执行操作的最佳方式,我只是试图在两个html标签之间拉出内容(找到第一个集合)并丢弃其余数据.我知道有类似的问题,我已经阅读了它们,我的问题是混合,如果有更好的方法来做到这一点以及我如何将匹配定义为其余剩余代码的新输入.如果我将$ match更改为$ data2并从那里开始使用它会返回错误.
preg_match('/<h2>(.*?)<\/h2>/s', $data, $matches);
Run Code Online (Sandbox Code Playgroud) 好吧,我知道这是一个新问题,但如果IF 1(文本:测试出现在数据字符串中),我将如何才能执行IF 2.我尝试将两者结合起来但最终遇到各种各样的问题.因此,如果测试没有显示跳过的循环,如果它,那么我将在IF 2中运行的正则表达式代码.
$data = 'hello world "this is a test" last test';
// IF 1
if (stripos($data, 'test') !== false) {
}
// IF 2
if (preg_match('/"[^"]*"/i', $data, $regs)) {
$quote = str_word_count($regs[0], 1);
$data = str_replace($regs[0], '"'.implode(' ', $quote).'"', $data);
}
echo $data;
Run Code Online (Sandbox Code Playgroud) 如何使用正则表达式匹配所有大写字母的单词或单词组?
我相信我已经解决了问题的一半,虽然这可能不是正确的方法.
我试图在所有大写字母中抓住一个单词,或两个或三个 - 基本上如果它们是连续的我希望它们被捕获为一个组,而不是每个单词本身.
例如:
"HAPPY BIRTHDAY TOMMY"不会匹配并返回[0] -> HAPPY, [1] -> BIRTHDAY, [2] -> TOMMY,但是整个组,例如[0] -> HAPPY BIRTHDAY TOMMY.
我在下面使用的代码一起匹配"HAPPY BIRTHDAY",或者只是"TOMMY",但不是所有的东西.
[A-Z]{1,}\s[A-Z]{1,}|\b[A-Z]{1,}\b
Run Code Online (Sandbox Code Playgroud) 如何将字符串中的所有其他字母大写?我知道如何转换为低级或高级或第一个,但不知道如何去做其他所有.要清楚我已经包含了一些例子.这也是为了创建一个密码我的儿子,我正在搞乱,我永远不会以这种方式格式化常规文本.
pizza -> PiZzA
party -> PaRtY
popcorn -> PoPcOrN
Run Code Online (Sandbox Code Playgroud)