這是一個例子:$original_string = 'I like apples very much. I want an apple.';$temp_string = str_replace('apples', '_apples_', $original_string);// $temp_string is now: I like _apples_ very much. I want an apple.$final_string = str_replace('apple', '_apple_', $temp_string);// $final_string is now: I like __apple_s_ very much. I want an _apple_.這不是我打算做的。我希望最終的字符串是:I like _apples_ very much. I want an _apple_.這就是我試圖做的:$original_string = 'I like apples very much. I want an apple.';$final_string = str_replace(['apples', 'apple'], ['_apples_', '_apple_'], $original_string);echo $original_string;// I like __apple_s_ very much. I want an _apple_. 顛倒更換順序也無濟于事:$original_string = 'I like apples very much. I want an apple.';$original_string = str_replace(['apple', 'apples'], ['_apple_', '_apples_'], $original_string);echo $original_string;// I like _apple_s very much. I want an _apple_. 我應該怎么辦?
1 回答

慕森卡
TA貢獻1806條經驗 獲得超8個贊
您可以使用preg_replace它使用正則表達式而不是字符串進行替換
$original_string = 'I like apples very much. I want an apple.';
$final_string = preg_replace("/(apples?)/", "_$1_", $original_string);
echo $final_string;
正則表達式解釋: https: //regex101.com/r/EzxqWR/2和演示: https: //3v4l.org/uTDIs
(1) (2)
vvvvvvvv vvvv
preg_replace("/(apples?)/", "_$1_", $original_string);
它將搜索字符串
apple
或apples
并將結果放入
$1
and 成為_apple_
or_apples_
希望解釋清楚,對于不好的解釋表示歉意
- 1 回答
- 0 關注
- 126 瀏覽
添加回答
舉報
0/150
提交
取消