【发布时间】:2013-09-10 23:31:33
【问题描述】:
我想从这样的 JSON 数据返回的文本中获取一个 img 标记。我想从一个字符串中获取这个:
<img class="img" src="https://fbcdn-photos-c-a.akamaihd.net/hphotos-ak-frc3/1239478_598075296936250_1910331324_s.jpg" alt="" />
我必须使用什么正则表达式来匹配它?
我使用了以下,但它不起作用。
"<img[^>]+src\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>"
【问题讨论】:
-
请不要使用正则表达式解析 HTML。 HTML 不是常规语言。
-
不要使用正则表达式解析 HTML。使用适当的 HTML 解析模块。 您无法使用正则表达式可靠地解析 HTML,并且您将面临悲伤和挫败感。一旦 HTML 与您的期望发生变化,您的代码就会被破坏。请参阅htmlparsing.com/php 或this SO thread,了解如何使用已经编写、测试和调试过的 PHP 模块正确解析 HTML。
-
如果我想获取所有属性(title、src、alt),正则表达式模式需要进行哪些修改 ]*src="([^" ]*)"[^>]*>。提前致谢。
标签: regex image html-parsing