【发布时间】:2013-08-01 11:42:44
【问题描述】:
我有一个名为 $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 的任何实现。如果可能,如何实现?
【问题讨论】:
标签: php regex preg-replace associative-array str-replace