Php preg_replace将作为链接的图像用li包装起来
很抱歉标题有点混乱,但我正在尝试使用preg replace将Php preg_replace将作为链接的图像用li包装起来,php,preg-replace,Php,Preg Replace,很抱歉标题有点混乱,但我正在尝试使用preg replace将标记环绕一个图像,该图像是一个链接(因此),我尝试了以下代码: preg_replace('/(<a [^>]+>)/','<li>\1</li>',$myVar ); preg_replace(“/(]+>)/”、“\1”、$myVar); 但这有一个奇怪的结果——有人能给我指出正确的方向吗?我知道可以用jQuery实现,但我更希望使用PHP解决方案。这可能会实现: preg_repla
标记环绕一个图像,该图像是一个链接(因此
),我尝试了以下代码:
preg_replace('/(<a [^>]+>)/','<li>\1</li>',$myVar );
preg_replace(“/(]+>)/”、“\1 ”、$myVar);
但这有一个奇怪的结果——有人能给我指出正确的方向吗?我知道可以用jQuery实现,但我更希望使用PHP解决方案。这可能会实现:
preg_replace('/<a(.*)>(.*)<\\/a>/','<li><a$1>$2</a></li>',$myVar );
preg_替换(“/(.*)/”、“$2 ”、$myVar);
尽管您不应该使用注释中所写的正则表达式解析html字符串,但这里:
$str = preg_replace('~<a .*?>\s*<img .*?>\s*</a>~i','<li>$0</li>',$str);
$str=preg\u replace('~\s*\s*~i','$0 ',$str);
跟着我重复。无法使用正则表达式解析HTML。无法使用正则表达式解析HTML。无法使用正则表达式解析HTML。改用DOM解析器/操纵器。在任何情况下,替换都将生成无效的HTML,因为它将