我正在尝试编写一个正则表达式来从HTML表中提取名称,其中的名称按以下格式编写:“Smith,Bob”
我正在使用的正则表达式为:[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 :(得分:1)
你必须在你的函数中使用分隔符...尝试:
preg_match_all("/[a-zA-Z]*,\s[a-zA-Z]*/", $table, $name);
甚至:
preg_match_all("/[A-Z]*,\s[A-Z]*/i", $table, $name);