Str_Replace,无需调用函数

时间:2018-06-26 19:13:13

标签: php replace str-replace


如何在PHP中使用str_replace而不允许它替换以下代码中$ replace_with中使用的字符?

<?php
 $string='abcd';
 $replace= array('a','c');
 $replace_with = '[ac]';
 $string=str_replace($replace,$replace_with,$string);
 echo $string;
?>

结果将是:
[a [ac]] b [ac] d
如何强制我的脚本仅用一次 [ac] ”替换$ string中的“ a ”,而又不允许其替换“ c [ac] ”中的“ strong>”?

1 个答案:

答案 0 :(得分:1)

strtr()恰好满足您的要求:

$string = strtr( $string, array( 'a'=>'[ac]', 'c'=>'[ac]' ) );

输出:

[ac]b[ac]d

相关摘录:

  

如果给定两个参数,则第二个参数应为array('from' => 'to', ...)形式的数组。返回值是一个字符串,其中所有出现的数组键都已被相应的值替换。最长的键将首先尝试。 替换子字符串后,将不再搜索其新值。