Php preg_替换从最后匹配的元素中移除所有元素
处理继承的WordPress主题时,客户端报告了一些链接的问题 如果用户添加了3个(示例)链接:Php preg_替换从最后匹配的元素中移除所有元素,php,preg-replace,Php,Preg Replace,处理继承的WordPress主题时,客户端报告了一些链接的问题 如果用户添加了3个(示例)链接: 页面上只显示了最后一个,通过查看代码,我可以看到内容是通过向锚链接添加类的函数解析的: function style_content_call_to_action($content, $size='large'){ $content = preg_replace('/<p><a.*href="(.*)">(.*)<\/a><\/p>/s
页面上只显示了最后一个,通过查看代码,我可以看到内容是通过向锚链接添加类的函数解析的:
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;
}
函数样式\u内容\u调用\u操作($content,$size='large')){
$content=preg_replace('/',$content);
返回$content;
}
有没有一种方法可以调整它,使它与所有按钮一起工作?除了最后一个,没有删除所有的
谢谢。您需要调整您的正则表达式模式,使其精确,而不是用
(.*)
:
“>([^]*)/i”
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;
}
'/<p><a.*href="([^">]*)">([^<>]*)<\/a><\/p>/i'