我需要找到文本specic線,從幾行文字PHP的preg_match
所以,我有一個文本文件中的幾行文字,如:
JOHN
MIKE
BEN
*BJAMES
PETE
,我讀了內容插入一個數組中,每行文本放入數組的一個單獨元素中。
然後我測試的陣列中的每個元素,發現開頭的行,說:* B
即:
if (preg_match("/^\*(B)/",$contents[$a]))
爲什麼dosnt這項工作?
我需要找到文本specic線,從幾行文字PHP的preg_match
所以,我有一個文本文件中的幾行文字,如:
JOHN
MIKE
BEN
*BJAMES
PETE
,我讀了內容插入一個數組中,每行文本放入數組的一個單獨元素中。
然後我測試的陣列中的每個元素,發現開頭的行,說:* B
即:
if (preg_match("/^\*(B)/",$contents[$a]))
爲什麼dosnt這項工作?
我不會在這裏使用雙引號,因爲\是轉義序列:
if (preg_match('/^\*(B)/',$contents[$a]))
它在這裏工作對我來說,雖然即使有雙引號,所以你可能要檢查什麼$contents[$a]
是:
$myline = "*BJAMES";
if(preg_match("/^\*(B)/", $myline))
{
echo "Yes\n";
}
考慮下面的代碼:
$regex = "%\*B(.*?)%is";
if (preg_match($regex, $contents[a])) { /// do something }
你10
也可能找到這個幻燈片學習正則表達式非常有用:
http://www.addedbytes.com/cheat-sheets/regular-expressions-cheat-sheet/
我下面的作品(其中$ TXT是你的原始數據):
foreach (explode("\n", $txt) as $a) {
if (preg_match("/^\*B/", $a)) {
echo "**MATCH " . $a . "<br/>";
}
}