$ string = preg_replace(「#[name =([a-zA-Z0-9 .-] +)*]#」,''。「$ 1」,$ string );str_replace在標籤名稱屬性中帶連字符的空格
腳本這部分不工作:
str_replace(' ', '-', "$1")
我需要 「與」 來代替 「 - 」, 我也嘗試preg_replace
主要preg_replace
內,str_ireplace
也
但這仍然不起作用
$ string = preg_replace(「#[name =([a-zA-Z0-9 .-] +)*]#」,''。「$ 1」,$ string );str_replace在標籤名稱屬性中帶連字符的空格
腳本這部分不工作:
str_replace(' ', '-', "$1")
我需要 「與」 來代替 「 - 」, 我也嘗試preg_replace
主要preg_replace
內,str_ireplace
也
但這仍然不起作用
替換是預先評估而不是每次更換。通過使用preg_replace_callback
$string = preg_replace("#\[name=([a-zA-Z0-9 .-]+)*]#e", '"<td><a href=\"$front_page/".str_replace(" ", "-", "$1")."\">$1</a></td>"', $string);
或者:但是你可以通過使用e
modifier in your regular expression這樣做
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);
我想你將不得不做的兩個步驟,因爲$1
不能str_replace()
使用。 $1
並不真正作爲變量存在,它只是替換字符串中的佔位符。