php中几个字符串替换函数

时间:2023-01-03 12:35:10
一:strtr()的用法
 $str = "test";
$str1 = strtr($str,'t','z');   // zesz
$str2 = strtr($str,'tt','z1'); // 1es1,注意这里不是zesl,相同字符按照最后一个替换
$str3 = strtr($str,'t','');    // test,注意这里不是es,替换为空子串会原样输出
$str4 = strtr($str,'ts','12'); // 1e21
$str5 = strtr($str,array("t" =>'')); // es,注意和上个空子串相比较
$str6 = strtr($str,array("e"=>'www',"s"=>"hhh"));// twwwhhht
二:str_replace()的用法
$str = "test";
$str1 = str_replace('t', '', $str);// es
$str2 = str_replace('es', 't', $str);// ttt
$str3 = str_replace(array('t', 'sa'), array('a', 'b'), $str);// aeb,注意前一个对应元素替换完得到的结果再应用到下一个对应元素
$str4 = str_replace(array('t', 'sa'), array('a'), $str);// ae,注意第二个sa被空替换
$str5 = str_replace(array('t'), array('a', 'b'), $str);// aesa,注意最后一个b没有生效
$str6 = str_replace(array('t', 's'), 'e', $str);// eeee
$arr = array(
    'a' => 'testa',
    'b' => 'testb',
    'c' => array(
        'ca' => 'tes1',
        'cb' => 'tes2',
    ),
);
$arr1 = str_replace('es', 't', $arr);
$arr1 = array(
    'a' => 'ttta',
    'b' => 'tttb',
    'c' => array(
        'ca' => 'tes1',
        'cb' => 'tes2',
    ),
); //对于数组需要注意的是只对一位数组起作用
三:substr_replace()的用法
$str = "test";
echo substr_replace($str, 'zzz', 1, 2);// tzzzt,注意位置是从0开始的,第一个数如果是负数表示从字符串结尾的指定位置开始替换,第二个数表示长度
$arr = array(
    'a' => 'what',
    'b' => 'are',
    'c' => array(
        'ca' => '11',
        'cb' => '22',
    ),
);
$arr1 = substr_replace($arr, 'ok', 0, 1);
$arr1 = array(
    'a' => 'okhat',
    'b' => 'okre',
    'c' => 'okarry'
);
四:preg_replace()的用法
正则功能强大...