【发布时间】:2013-04-08 17:45:07
【问题描述】:
我想创建正则表达式,以匹配开头内的文本及其匹配的 html img 标记与 PHP 的右尖括号。假设我在变量 $searchThis 中有 html 文本
$searchThis = "<html><div></div><img src='/relative/path/img1.png'/></div>
<img src='/relative/path/img2.png'/><div></div></div>
<img src='/relative/path/img3.png'/><ul><li></li></ul></html>";
我想匹配省略号替换的标签中的内容。结果必须是以下匹配项:
src='/relative/path/img1.png'
src='/relative/path/img2.png'
src='/relative/path/img3.png'
这就是我想象的模式应该是这样的,但实际上对我不起作用:
$pattern = "<img([^\/]+)\/>";
【问题讨论】:
-
您不应该尝试使用正则表达式解析 HTML。请改用 XPath 或一些类似的 XML 访问方法。看看this collection。
-
您只想通过正则表达式获取输出? simplehtmldom 呢?
-
好的,但是我不会使用 PHP 标准库中的任何东西。