如何使用PHP中的正则表达式将“a”标签替换为“img”?

时间:2016-11-18 19:01:53

标签: php html regex anchor href

<div class="media_embed" height="qqq" width="www">
<a href="http://giphy.com/gifs/dancing">via GIPHY</a>
<div class="media_embed" height="eee" width="rrr">
<a href="http://giphy.com/gifs/movie">via GIPHY</a>

我想这样做: 我必须从锚标记中获取de href并将其放在img标记之间并添加figure标记

<figure>
  <img src="http://giphy.com/gifs/dancing" />
</figure>
<figure>
  <img src="http://giphy.com/gifs/movie" />
</figure>
你可以帮我吗

1 个答案:

答案 0 :(得分:0)

最好的解决方案是解析html然后更改它。您可以使用DOMDocument来解析html。但是,如果您想使用正则表达式,请使用preg_replace()a标记替换为其他标记。

echo preg_replace("/<a href=\"(.*)\">.*<\/a>/", "<figure><img src='$1' /></figure>", $html)

检查demo

中的结果