vor*_*bey 2 php regex preg-replace
$ string = preg_replace("#[name =([a-zA-Z0-9 .-] +)*]#",''."$ 1",$ string);
这部分脚本不起作用:
str_replace(' ', '-', "$1")
Run Code Online (Sandbox Code Playgroud)
我需要更换""用" - ",我也尝试preg_replace内主preg_replace,str_ireplace也
但这仍然不起作用
更换是预先评估的,而不是每次更换.但是你可以通过e在正则表达式中使用修饰符来实现:
$string = preg_replace("#\[name=([a-zA-Z0-9 .-]+)*]#e", '"<td><a href=\"$front_page/".str_replace(" ", "-", "$1")."\">$1</a></td>"', $string);
Run Code Online (Sandbox Code Playgroud)
function callbackFunction($match) {
global $front_page;
return '<td><a href="'.$front_page.'/'.str_replace(" ", "-", $match[1]).'">'.$match[1].'</a></td>';
}
$string = preg_replace_callback("#\[name=([a-zA-Z0-9 .-]+)*]#", 'callbackFunction', $string);
Run Code Online (Sandbox Code Playgroud)