抱歉标题有点混乱,但我正在尝试使用 preg 替换将<li></li>
标签包裹在作为链接(so <a href="#"><img src="#" /></a>
)的图像周围,我尝试了以下代码:
preg_replace('/(<a [^>]+>)/','<li>\1</li>',$myVar );
但这有一个奇怪的结果——有人能指出我正确的方向吗?我知道它可以用 jQuery 完成,但我更喜欢 PHP 解决方案。
抱歉标题有点混乱,但我正在尝试使用 preg 替换将<li></li>
标签包裹在作为链接(so <a href="#"><img src="#" /></a>
)的图像周围,我尝试了以下代码:
preg_replace('/(<a [^>]+>)/','<li>\1</li>',$myVar );
但这有一个奇怪的结果——有人能指出我正确的方向吗?我知道它可以用 jQuery 完成,但我更喜欢 PHP 解决方案。
这可能会做到:
preg_replace('/<a(.*)>(.*)<\\/a>/','<li><a$1>$2</a></li>',$myVar );
尽管你永远不应该使用像@slugonamission这样的正则表达式来解析一个html字符串,在评论中写道,这里:
$str = preg_replace('~<a .*?>\s*<img .*?>\s*</a>~i','<li>$0</li>',$str);