Preg_match_all和html标签

时间:2011-12-27 15:25:27

标签: php html preg-match preg-match-all

我正在尝试使用<b>Author:</b>函数从下面的HTML中获取<br>preg_match_all之间的内容,但它会一直返回空数组。我需要中间的HTML输出,请帮帮我。

以下是文字:

<b>Author:</b> <a href="http://link.com" target="_blank" rel="nofollow">Name</a><br />

这是我使用的脚本:

preg_match_all("'<b>Author:</b> ([^<]*)<br />'", $page, $preg_author);
$author = $preg_author[1]; 
print_r($preg_author);

1 个答案:

答案 0 :(得分:1)

你的正则表达式无法正常工作([^&lt;] *)基本上当它遇到<a标签时会失败你应该尝试这个

preg_match_all("'<b>Author:</b> (.*(?=<br />))'", $page, $preg_author);

基本上它会捕获任何字符(没有换行符),直到它遇到一个标签