我有一個奇怪的問題...PHP strpos()找到的只是單個字符,而不是整個字符串
我想搜索一個日誌文件。
$lines = file($file);
$sampleName = "T3173sGas";
foreach ($lines as &$line) {
if (strpos($line, $sampleName) !== false) {
echo "yes";
}
}
此代碼不能正常工作,$sampleName
是在日誌文件中100%
。搜索僅適用於單個字符;例如"T"
或"3"
,但不適用於"T3"
。
你知道爲什麼它不起作用嗎?日誌文件的編碼是否錯誤?
非常感謝您的幫助!
可能的是,該日誌文件的編碼是UTF-16,在這種情況下'strpos'不會爲多字符,但工作仍然適用於單身。請嘗試['mb_strpos'](http://php.net/manual/en/function.mb-strpos.php)。 – Jon 2013-04-10 09:32:05