请参阅代码:
$result = "<b>Associated Names</b> [<a href='http://www.examples.com/authors.html?act=change&id=6141&item=associated'><u>Edit</u></a>]</td>
</tr>
<tr>
<td class='text' align='left'>G・R<br />G-R<br /> </td>"
preg_match_all("/<b>Associated Names.{10,100}<td class='text' align='left'>((.*<br \/>)*).*<\/td>/sU", $result, $assoc);
var_dump($assoc);
-----------------------------------------------------------
RESULT
array
0 =>
array
0 => string '<b>Associated Names</b></td>
</tr>
<tr>
<td class='text' align='left'>G・R<br />G-R<br /> </td>' (length=135)
1 =>
array
0 => string '' (length=0)
2 =>
array
0 => string '' (length=0)
我希望它返回
array(
1 =>
array
0 => string 'G・R',
2 =>
array
0 => string> 'G-R'
)
这是圆括号((。))我想修理它,请帮帮我
答案 0 :(得分:3)
请不要尝试使用正则表达式解析HTML,invokes the wrath of Zalgo。
尝试使用the DOM和xpath来定位您尝试提取的特定元素和属性。
(我提供了一个xpath示例,但它仍然在我的学习列表中... :))