是否有任何库类或方法不使用正则表达式而preg_replace()
用于char替换?
我的意思是我可以在字符串中替换字符的关联数组?
答案 0 :(得分:2)
如果你需要替换多个char而没有聪明的语义,例如只需按原样更换它们,请使用:
str_replace(array('+'), array('+'), $string);
// when using an associative array
str_replace(array_keys($array), array_values($array), $string);
HTML实体有专门的功能,显然名为htmlentities()
。
您也可以在preg_replace
中使用数组:
preg_replace(array('/quick/','/brown/'), array('slow', 'bear'), $string);
甚至是关联数组:
$array = array('/quick/' => 'slow', '/brown/' => 'bear');
preg_replace(array_keys($array), array_values($array), $string);
答案 1 :(得分:1)
http://php.net/manual/en/function.strtr.php
用法:
<?php
$trans = array("h" => "e", "l" => "b", "f" => "c");
echo strtr("hi all, I said hello", $trans);
?>
注意,如果我理解你,你不是在寻找preg_replace或regex char replacement
编辑第1页
如果您需要浏览此类数据,请使用htmlentities
或str_replace
echo htmlentities("kkk+"); //outputs kkk+
str_replace(array('+'), array('+'), "kkk+"); //outputs kkk+