我正在使用一个CMS系统,坚持要在</figure>
和<figcaption>
标签之间放置大量垃圾标记&空标签。preg_replace - 匹配两个标签之间的所有内容
我想用正则表达式来匹配&删除这个垃圾(不幸的是修复CMS是不可能的)。
我似乎已经创建了一个有点太饿的正则表达式,并且也剥离了标签。
$str = '<p></p><figure class="image"><img title="Screenshot 2014-08-26 16.34.12.png" alt="Screenshot 2014-08-26 16.34.12.png" src="/image/Screenshot%202014-08-26%2016.34.12.png" class="image-style-none" typeof="foaf:Image"></figure><p></p>
<p>Â </p>
<p></p><figcaption>Screenshot 2014-08-26 16.34.12.png</figcaption><p></p>
<p> </p>
<p> </p>
<p></p>';
preg_replace('#(</figure>).*?(<figcaption>)#s', '[replace-me]', $str);
任何人都可以指向正确的方向吗?
这可能太饿了,因为你没有使用匹配的标签:''与' '一起。最好使用这些标签,然后只需使用这些标签即可替换它们。 –
2014-09-18 21:45:40
预期的结果是作为来源,除了关闭
HTML不是正则表达式可解析语言。 [*不要在HTML上使用正则表达式。只是不。*](http://stackoverflow.com/a/1732454/237955) – amphetamachine 2014-09-18 21:49:25