正则表达式以在标签之间获取文本

时间:2010-07-21 10:21:40

标签: php html regex

我正在编写一个应用程序来获取html页面的标题,body标签下的一些文本和图像。 这就像facebook的分享内容。我可以得到一个正则表达式。谢谢你的帮助。

3 个答案:

答案 0 :(得分:6)

<title>(.*?)</title>这样的正则表达式可以为您提供标题内容。 。*? part用于以非贪婪的方式匹配任何字符(如果页面中有另一个标题结束标记)。

答案 1 :(得分:2)

您应该使用HTML Parser而不是Regular Expression。例如,请参阅Simple HTML DOM

您的任务的正则表达式将非常难以维护,并且会在所讨论的页面的任何更改中轻松破解,更不用说您无法考虑HTML注释。

答案 2 :(得分:1)

我刚创造了这个表达式,它将文本放在标签内(节点值),而不是实际的标签本身。

(?<=\"\>)(.*?)(?=\<\/)

您可以在此处查看PHP的实际操作:http://codepad.viper-7.com/AUTcv3