$text = "abc def ghi abc def ghi abc def ghi abc"
$search = "abc";
$regex = '/(\s)'.$search.'(\s)/i';
$array_key = array();
if(preg_match_all($regex, $text, $tmp)) {
$array_key = $tmp[0];
$n = count($tmp[0]);
for($i=0; $i<$n; $i++) {
if($n % 2 == 0) {
$content = str_replace($array_key[$i], 'ABC', $text);
}
}
當我回聲$內容輸出:如何在php中替換字符串的位置?
「ABC def ghi ABC def ghi ABC def ghi ABC
」
但我想結果是 「ABC def ghi abc def ghi ABC def ghi abc
」 因爲$n % 2 == 0
,如何解決?
'$ n'在循環中沒有變化,所以它總是偶數或總是奇數。 – Arjan
使用'preg_match'而不是'preg_match_all' ...目前,它返回找到的所有匹配。 'preg_match'將只返回第一個匹配。 –