我想在PHP脚本中运行一个简单的搜索,我无法弄清楚出了什么问题
我在txt文件中搜索“James”这个词,我知道它在那里但是我没有得到任何结果。
如果我用“/ J /”替换“/ James /”,我得到的结果应该是
我将txt文件的内容粘贴到代码
<?php
$lines = file('ServicesResults.txt');
$lines_two = preg_grep("/James/", $lines);
foreach($lines_two as $name){
echo "$name<br>";
}
?>
------ txt文件内容-----
布兰娜说你好
乔说你好
你好,你好
林恩说你好
Len说你好
詹姆斯打招呼你好
-----搜索结果“/ J /”-----
乔说你好
詹姆斯打招呼你好
----没有搜索结果“/ James /”----
----没有搜索结果“/ Ja /”----
对不起,这似乎是一个非常愚蠢的问题,我无法弄清楚我做错了什么
谢谢大家 詹姆斯
答案 0 :(得分:0)
你的问题确实有点愚蠢(请不要冒犯),因为那里有你的工作:
<?php
$text = <<<BUFFER
Breanna says hello
Joe says hello
Steven says hello
Lyn says hello
Len says hello
James says hello
BUFFER;
$lines = explode("\r\n", $text);
$lines_two = preg_grep("/James/", $lines);
foreach($lines_two as $name){
echo "$name\n";
}
演示:https://eval.in/private/f5bdf0fdfdb55d;节目输出:
James says hello
无论你认为问题是什么/任何地方,你都不会特别询问它。给出的信息不允许重现您的问题。我只是从你的问题中复制并粘贴了这个。
答案 1 :(得分:0)
我希望hakre's
祝福,提出以下解决方案:
您需要使用file_get_contents()功能才能使用hakre's code below。
假设在ServicesResults.txt文件中:
------ txt文件内容-----
布兰娜说你好
乔说你好
你好,你好
林恩说你好
Len说你好
詹姆斯打招呼你好
使用/James/
将返回James says hello
使用/Ja/
将返回James says hello
使用/J/
将返回Joe says hello James says hello
<?php
$text = file_get_contents('ServicesResults.txt');
$lines = explode("\n", $text);
$lines_two = preg_grep("/Ja/", $lines); // modify as required
foreach($lines_two as $name){
echo "$name\n";
}
完全归功于hakre