2013-09-30 51 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

相关问题