という名前のこの置換配列があり$initialdata
ます:
array ($initialdata)
'd' => string '1.40' (length=4)
'a' => string '1.67' (length=4)
'vi' => string '0' (length=1)
't' => string '?' (length=1)
それから私はこの文字列を持っています:
$str = "-(vi + sqrt(2*a*d + vi^2))/a)";
私がする時 :
str_replace(array_keys($initialdata),array_values($initialdata),$str);
私は得る:
-(0 + sqr?(2*1.67*1.40 + 0^2))/1.67)
何が起こったのかというと、「sqrt」の「t」が$initialdata
配列の「t」の値に置き換えられました。を使用しているためにこれが発生することはわかっておりstr_replace
、 を使用して単語全体を一致させる必要がありますが、連想配列を使用して単語全体を一致preg_replace
させる実装は見たことがありません。preg_replace
可能であれば、これをどのように達成できますか?