PHP正则表达式获取特定span元素的内容

时间:2009-01-23 10:41:12

标签: php regex

我需要一些帮助...当谈到正则表达式时,我有点(读取总数)n00b,需要一些帮助来编写一个来查找PHP中特定HTML标记中包含的特定文本。< / p>

源字符串如下所示:

<span lang="en">English Content</span><span lang="fr">French content</span> ... etc ...

我想只提取特定语言的元素文本。

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:6)

有很多可用于PHP的HTML解析器。我建议您查看其中一个,(例如:PHP Simple HTML DOM Parser)。

尝试使用正则表达式阅读HTML会让自己陷入困境,这比你想象的要容易得多,并且比你想要的更难避免(特别是当你不完全了解正则表达式时,你的输入不能保证是100%干净的HTML)。

答案 1 :(得分:0)

(糟糕,不工作)示例,说明为什么不应该使用正则表达式来解析html。

/<span lang="en">(.*)<\/span>/

将输出:

English Content</span><span lang="fr">French content

阅读更多内容:

Parsing: Beyond Regex

For-the-2,295,485th-time-DO-NOT-PARSE-HTML-WITH-REGULAR-EXPRESSIONS

答案 2 :(得分:0)

这个最棒的类让你可以在HTML页面上进行类似SQL的查询。值得一看:

HTML SQL

我已经用过它了,我喜欢它。

希望有帮助...