我在一些使用旧系统的页面上有链接,例如:
<a href='/app/?query=stuff_is_here'>This is a link</a>
它们需要转换为新系统,例如:
<a href='/newapp/?q=stuff+is+here'>This is a link</a>
我可以使用 preg_replace t0 更改一些我需要的内容,但我还需要用 + 替换查询中的下划线。我目前的代码是:
//$content is the page html
$content = preg_replace('#(href)="http://www.site.com/app/?query=([^:"]*)(?:")#','$1="http://www.site.com/newapp/?q=$2"',$content);
我想要做的是在 $2 变量上运行 str_replace,所以我尝试使用 preg_replace_callback,但永远无法让它工作。我应该怎么办?