多次替换怎么办? 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'
]);