str_replace大小写或替换顺序含混不清

问题描述

|| str_replace有奇怪的问题。 这是我的代码
function replace_text($text) {
        $array = array(
        \':big\' => \'BIG\',\':bigs\' => \'BIIIGSS\',);
问题是当我输入
bigs
(带有s)时,代码仅将文本转到
BIGs
,而不是
BIIIGSS
。     

解决方法

        好吧,大牌也可以匹配大牌,不是吗?更改顺序,以便检查大数是否首先匹配:
function replace_text($text) {
    $array = array(
    \':bigs\' => \'BIIIGSS\',\':big\' => \'BIG\',);
    ,        尝试使用不区分大小写的
str_ireplace()
。 发生的情况是当它到达数组中的第二个元素时,值为
BIGs
,因此小写字母
bigs
不存在,因此没有被替换。     ,        我怀疑这是您完整的代码,但仅仅是对多次调用
str_replace
的函数的函数调用? 如果是这样,那么您可能首先进行第一个替换,因此字符串ѭ1now现在是
BIGs
。然后运行第二个替换,但是现在您找不到小写字符串
bigs
。 如手册所述,str_replace从左到右进行替换。