我正在尝试使用正则表达式从以下html中提取文本“abcdef”:
<a href="xyz.com" rel="bookmark" title="hello_world">abc def</a>
我正在尝试这种模式
$pattern = "<a href=(.*?) rel='bookmark' title=(.*?)>(.*?)</a>"
如果有人帮我弄清楚这种模式会很有帮助。我正在使用PHP。
感谢
答案 0 :(得分:3)
请改用DOMDocument
。具体而言,DOMDocument::loadHTML
。你的生活会更容易。
你可以使用如下的模式,但我真的不建议使用正则表达式来操纵HTML:
/<a\s+href\s*=\s*"([^"]+)"\s+rel\s*=\s*"([^"]+)"\s+title\s*=\s*"([^"]+)"\s*>([^<]+)<\/a>/
我还注意到,在正则表达式中,您有rel='bookmark'
,而原始字符串有rel="bookmark"
。这可能是你的原始正则表达式无效的原因。