我寫了2個函數。首先是這樣的:
preg_replace只作用於第一場比賽
function Find($string, $first, $last)
{
$string = " ".$string;
$action = strpos($string,$first);
if ($action == 0) return "";
$action += strlen($first);
$result = strpos($string,$last,$action) - $action;
return substr($string,$action,$result);
}
而第二個位置:
function Replace($string)
{
$find = Find($string, '#*','*#');
return preg_replace('/'.$find.'/', '___', $string);
}
我想取代它與#*
開始,以*#
結束的字符串。這裏是我的示例文本:Donec gravida #*c_01*# quam nec pulvinar #*c_02*# facilisis. Donec sed consectetur #*c_03*# lectus.
當我使用這樣的功能:echo Replace($string);
只有第一個字符串替換,其他不是。像這樣:Donec gravida #*___*# quam nec pulvinar #*c_02*# facilisis. Donec sed consectetur #*c_03*# lectus.
你能幫我嗎?我如何管理這個?
http://us2.php.net/manual/en/function.preg-replace.php – bucabay
是的,我閱讀文檔開始我試圖用限制器像@ Session的用法。但結果是一樣的:沮喪... –
爲你的正則表達式添加一個全局標誌? '/ foo/g' – rlemon