搜索txt文件找不到完整的单词

时间:2013-08-20 22:51:45

标签: php search text

我想在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 /”----

对不起,这似乎是一个非常愚蠢的问题,我无法弄清楚我做错了什么

谢谢大家 詹姆斯

2 个答案:

答案 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

<?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