我想在一個大的列表文件中找到一個單詞。
然後,如果和當這個單詞被發現,採取該單詞被發現在列表文件的整行?
到目前爲止,我還沒有看到任何PHP字符串函數來做到這一點
我想在一個大的列表文件中找到一個單詞。
然後,如果和當這個單詞被發現,採取該單詞被發現在列表文件的整行?
到目前爲止,我還沒有看到任何PHP字符串函數來做到這一點
使用線分隔的正則表達式查找的單詞,然後你的對手將包含整條生產線。
喜歡的東西:
preg_match('^.*WORD.*$, $filecontents, $matches);
然後$matches
將有地方的全行才發現WORD
你可以使用的preg_match:
$arr = array();
preg_match("/^.*yourSearch.*$/", $fileContents, $arr);
$arr
然後將包含匹配。
嘗試這一個:
$searhString = "search";
$result = preg_grep("/^.*{$searhString}.*$/", file('/path/to/your/file.txt'));
print_r($result);
說明:
$result
是生成的數組。$path = "/path/to/wordlist.txt";
$word = "Word";
$handle = fopen($path,'r');
$currentline = 1; //in case you want to know which line you got it from
while(!feof($handle))
{
$line = fgets($handle);
if(strpos($line,$word))
{
$lines[$currentline] = $line;
}
$currentline++;
}
fclose($handle);
如果你想只找一個單行的詞出現,然後,而不是將其保存到一個數組,某處,只是break
保存比賽作出後。
這應該對任何大小的文件都很快(在大文件上使用文件()可能不好)