使用正则表达式或其他方法从HTML中提取文本


extract text from html using regex or other method

我试图使用regex从以下HTML中提取文本"abcdef":

<a href="xyz.com" rel="bookmark" title="hello_world">abc def</a>

我正在尝试这个模式

$pattern = "<a href=(.*?) rel='bookmark' title=(.*?)>(.*?)</a>"
如果有人能帮我弄清楚这个模式就太有帮助了。我正在使用PHP。

谢谢

使用DOMDocument代替。具体来说,是DOMDocument::loadHTML。你的生活会轻松很多。

可以使用如下模式,但我真的不建议使用正则表达式来操作HTML:

/<a's+href's*='s*"([^"]+)"'s+rel's*='s*"([^"]+)"'s+title's*='s*"([^"]+)"'s*>([^<]+)<'/a>/

我还注意到,在您的正则表达式中,您有rel='bookmark',而原始字符串有rel="bookmark"