preg_replace突然停止进行区分

时间:2011-04-16 01:27:20

标签: php preg-match words strpos

混淆。我一直在使用下面的IF PREG_MATCH来区分整个单词和作为其他单词的一部分的单词。它突然停止在这个脚本和我使用的任何其他脚本中运行,这取决于这个命令。

结果是它找到了部分单词,尽管你可以看到明确告诉它只找到整个单词。

$word = preg_replace("/[^a-zA-Z 0-9]+/", " ", $word);                                        

if (preg_match('#\b'.$word.'\b#',$goodfile) && (trim($word) != ""))  { 

        $fate = strpos($goodfile,$word);
        print $word ."  ";
        print $fate ."</br>";

2 个答案:

答案 0 :(得分:0)

如果您只想阅读文本文件行的第一个单词,如标题所示,请尝试其他方法:

// Get the file as an array, each element being a line
$lines = file("/path/to/file"); 

// Break up the first line by spaces
$words = explode(" ", $lines[0]); 

// Get the first word
$firstWord = $words[0]; 

答案 1 :(得分:0)

这比爆炸更快更清洁,你不会制作任何数组

$first_word = stristr($lines, ' ', true);