Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php preg_替换从最后匹配的元素中移除所有元素_Php_Preg Replace - Fatal编程技术网

Php preg_替换从最后匹配的元素中移除所有元素

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

处理继承的WordPress主题时,客户端报告了一些链接的问题

如果用户添加了3个(示例)链接:

页面上只显示了最后一个,通过查看代码,我可以看到内容是通过向锚链接添加类的函数解析的:

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'