2013-09-30 50 views
0

我想寫一個正則表達式來從一個HTML表,其中的名字寫在下面的格式中提取的名字:「史密斯,鮑勃」preg_match_all結果在「未知的修飾詞‘*’」

的我使用正則表達式是:[a-zA-Z]*,\s[a-zA-Z]*

執行時的代碼(在第二preg_match_all線)我不斷收到以下錯誤信息:未知的修飾詞「*」

我已經改變了*爲+,僅適用於相同的錯誤提示。我的代碼如下:

$start = strpos($content,'<table cellspacing="0" cellpadding="2" rules="all" border="1"    id="gvChart"'); 
$end = strpos($content,'</table>',$start) + 8; 
$table = substr($content,$start,$end-$start); 

/* Regex */ 
preg_match_all("|<tr(.*)</tr>|U",$table,$player); 
foreach ($player as $val) { 
preg_match_all("[a-zA-Z]*,\s[a-zA-Z]*", $table, $name); 
echo $name[0]; 
} 

所有幫助將非常感謝這裏,謝謝:)

+0

我不喜歡說出來,但對於「奧布萊恩,萬里行」,或「肯尼迪,約翰·F」 ...... – Sven

回答

1

您必須在函數中使用的分隔符...嘗試:

preg_match_all("/[a-zA-Z]*,\s[a-zA-Z]*/", $table, $name); 

甚至:

preg_match_all("/[A-Z]*,\s[A-Z]*/i", $table, $name); 
+0

這工作,非常感謝! – mkayen

+0

@mkayen,不客氣...不要忘記標記答案爲接受請:) – Enissay

相關問題