私はPHPに、この単純なスクリプトを扱っています:これはPHPのバグですか?どのようにそれを 'パッチ'しますか?
$a = array('la','co');
foreach ($a as $unboldeda){
$boldeda[] = '<b style="color: teal;">'.$unboldeda.'</b>';
}
$c = 'land of copper';
echo '<a href="#">'.str_replace($a, $boldeda, $d=$c).'</a>';
それは、の ラ回目になるはずであるが PPER
を共同それはに結果:
co lor:teal; ">土地co pper
bacause str_replace()
は、$ dの値を置き換えるだけでなく、$ cの値を置き換えるだけでなく、2回目の繰り返しでも$ cにhtmlタグが含まれます。私の見解では、これはプログラミング言語にはあまり意味がありません。これを回避するにはどうしますか?
'strtr'に置き換えて –
この動作は、その機能のマニュアルページで警告されています。http://php.net/str_replaceなぜ、その代替手段は実装するのがはるかに難しいです。 – IMSoP
投稿者の名前またはあなたが参照した投稿数を教えてもらえますか?ありがとう:-) –