多次替换怎么办? php
How to do replace multiple times ? php
我想将此字符串的 word1
替换为 word2
并将 word2
替换为 word1
:
word1 word2
这是我想要做的:
1.replace word1 和 word2 => 我得到:word2 word2
2.replace word2 和 word1 => 我应该得到 word2 word1 .
但我明白了:
word1 word1
因为 str_replace 函数还替换了第一个被替换的 word1。
如何避免此类问题?
谢谢
您无法通过 str_replace 实现此目的。使用旨在这样做的字符串翻译 (strtr):
$words = 'word1 word2';
$wordsReplaced = strtr($words, [
'word1' => 'word2',
'word2' => 'word1'
]);
我想将此字符串的 word1
替换为 word2
并将 word2
替换为 word1
:
word1 word2
这是我想要做的:
1.replace word1 和 word2 => 我得到:word2 word2
2.replace word2 和 word1 => 我应该得到 word2 word1 .
但我明白了:
word1 word1
因为 str_replace 函数还替换了第一个被替换的 word1。
如何避免此类问题?
谢谢
您无法通过 str_replace 实现此目的。使用旨在这样做的字符串翻译 (strtr):
$words = 'word1 word2';
$wordsReplaced = strtr($words, [
'word1' => 'word2',
'word2' => 'word1'
]);