PHPの文字列置換問題、どうやっても実現できないことが分かりました、アドバイスをお願いします
こんな要望があります:文字列「abc」があり、「a」を置換したいその中の「ab」を「ab」に置き換え、「b」を「cd」に置き換えると「abcdc」になります。
どうやっても実装できないことがわかりました。たとえば、'str_replace'
<br /><?php<br />$str = 'abc';<br />var_dump(str_replace(['a', 'b'], ['ab', 'cd'], $str));<br />
ログイン後にコピー
を使用すると、'acdcdc' という結果が返されました。 「str_replace」の処理は、まず「a」を「ab」に置き換えて「abbc」を取得し、次に「abbc」の「b」を「cd」に置き換えて「acdcdc」、つまり全体を取得することのようです。プロセスは: 'abc' -> 'abbc' -> 「preg_replace」も同様の処理です。
すみません、'abc' -> 'abcdc' を実装するにはどうすればよいですか? ? ?
専門家をお待ちしています、ありがとうございます
-----ソリューションのアイデア--------------------- - 木に首を吊らないでください。php はさまざまな処理メソッドを提供しています
$str = 'abc';<br />echo strtr($str, array('a' => 'ab', 'b' => 'cd'));
ログイン後にコピー
abcdc