开发者

preg_replace suddenly stops making distinctions

开发者 https://www.devze.com 2023-02-25 00:34 出处:网络
Confounded. I\'ve been using the below IF PREG_MATCH to distinguish between words which entire words and words which are parts of other words. It has suddenly ceased to function in this script, and an

Confounded. I've been using the below IF PREG_MATCH to distinguish between words which entire words and words which are parts of other words. It has suddenly ceased to function in this script, and any other script I use, which depend on this command.

The result is it finds parts of words, although you can see it is explicitly told to find only entire words.

$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>";


If you only want to read the first word of a line of a text file, like your title suggests, try another method:

// 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]; 


This would be faster and cleaner than explode and you won't be making any array

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

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号