2011-05-16 260 views
0

我需要找到文本specic線,從幾行文字PHP的preg_match

所以,我有一個文本文件中的幾行文字,如:

JOHN 
MIKE 
BEN 
*BJAMES 
PETE 

,我讀了內容插入一個數組中,每行文本放入數組的一個單獨元素中。

然後我測試的陣列中的每個元素,發現開頭的行,說:* B

即:

if (preg_match("/^\*(B)/",$contents[$a])) 

爲什麼dosnt這項工作?

回答

0

我不會在這裏使用雙引號,因爲\是轉義序列:

if (preg_match('/^\*(B)/',$contents[$a])) 

它在這裏工作對我來說,雖然即使有雙引號,所以你可能要檢查什麼$contents[$a]是:

$myline = "*BJAMES"; 
if(preg_match("/^\*(B)/", $myline)) 
{ 
    echo "Yes\n"; 
} 
0

我下面的作品(其中$ TXT是你的原始數據):

foreach (explode("\n", $txt) as $a) { 
    if (preg_match("/^\*B/", $a)) { 
     echo "**MATCH " . $a . "<br/>"; 
    } 
}