3
這是preg_match我想用來查找文本文件中的特定文本。preg_match和長字符串
if (preg_match($regexp,$textFile,$result) > 0) {
echo "Found ".$result[0];
} else {
echo "Not found";
}
但是,結果總是Found
,沒有其他。結果數組是空的。現在我讀到preg_match無法使用長字符串。
我的文本文件大約是300KB,所以我估計有300000個字符。
我100%確定搜索到的字符串在文本文件中,事實上preg_match函數返回值大於0意味着它找到了它,但它沒有把它放到結果數組中。
所以我的問題是,我如何使它工作?
正則表達式將是/[specific text]\{(\d*)\}/
所以,當然,我想能夠得到括號中的數字。
嘿,感謝您的回覆,但我認爲我做錯了什麼。我使用wampServer,我去了php.ini文件,並將pcre設置更改爲1百萬,重新啓動所有服務,但我仍然得到相同的結果:(只是普通的詞「Found」,沒有其他的東西 – user1651105 2010-06-11 09:02:27
@aleluja在腳本中(在頂部)添加'error_reporting(E_ALL^E_STRICT);'並且再次嘗試它。此外,您可能想要發佈您的實際腳本以查看它是否可以被複制。 – cletus 2010-06-11 09:08:06
我做了一件非常愚蠢的事情。你可以看到,在我的正則表達式中,我使用了「[」和「]」字符,我完全忘了它們是特殊的,我忘了逃避它們,因爲這兩個字符是我搜索的文本的一部分。現在我得到了我期待的結果。感謝您的幫助! – user1651105 2010-06-11 10:26:51