处理继承的WordPress主题,并且客户端已报告某些链接存在问题。
如果用户添加了3个(示例)链接:
<p><a href="#">Where to Invest</a></p>
<p><a href="#">Where to Invest 2</a></p>
<p><a href="#">Where to Invest 3</a></p>
只有最后一个显示在页面上,查看代码我可以看到内容是通过向锚链接添加类的函数解析的:
function style_content_call_to_action($content, $size='large'){
$content = preg_replace('/<p><a.*href="(.*)">(.*)<\/a><\/p>/si', '<p><a href="$1" class="object button '.$size.'">$2</a></p>', $content);
return $content;
}
有没有办法可以调整它以便它适用于所有按钮?并且除了最后一个之外不会删除所有内容吗?
感谢。
答案 0 :(得分:2)
您需要调整正则表达式模式以使其准确,而不是使用(.*)
抓取所有内容:
'/<p><a.*href="([^">]*)">([^<>]*)<\/a><\/p>/i'