PS:原创文章,如需转载,请注明出处,谢谢!
本文地址: http://flyer0126.iteye.com/blog/1765617
/** * 1. strtr 转换指定字符 * * string strtr ( string $str , string $from , string $to ) * string strtr ( string $str , array $replace_pairs ) * * 该函数返回 str 的一个副本,并将在 from 中指定的字符转换为 to 中相应的字符。 * 如果 from 与 to 长度不相等,那么多余的字符部分将被忽略。 */ $str = 'http://flyer0126.iteye.com/'; echo strtr($str, 'IT', 'java'); //output: http://flyer0126.iteye.com/ strtr大小写敏感 //如果 from 与 to 长度不相等,那么多余的字符部分将被忽略 echo strtr($str, 'it', 'java'); //output: haap://flyer0126.jaeye.com/ //iteye --> jaeye it只替换成了ja //http --> haap 逐字符进行对应位置的替换,这样不符合我们的初衷 echo strtr($str, 'it', ''); //output: http://flyer0126.iteye.com/ 没有替换 echo strtr($str, 'it', ' '); //output: http://flyer0126. teye.com/ 可以替换 /** * 函数 strtr 的 from->to方式 总结一下: * 1. 区分大小写; * 2. form与to长度不等时,多余字符将被忽略,不可以少换多,也不可以多换少; * 3. 逐字符进行对应位置替换; * 4. 不可被替换为空,可以替换为空格。 */ // 相比较而言,后一种方式显而更合适 $replace_pairs = array( 'http://'=>'', 'it' => 'java' ); echo strtr($str, $replace_pairs); //output: flyer0126.javaeye.com/ 替换成功,符合替换初衷 /** * 2. 函数 str_replace * mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) */ echo str_replace('it', 'java', $str); //output: http://flyer0126.javaeye.com/ echo str_replace(array('http', ':', '//', '/'), '', $str); //output: flyer0126.iteye.com echo str_replace(array('http', 'it', '/'), array('https', 'java', ''), $str); //output: https:flyer0126.javaeye.com