首页 >后端开发 >php教程 >PHP 截取字符串函数 strtr/str_replace

PHP 截取字符串函数 strtr/str_replace

巴扎黑
巴扎黑原创
2016-11-22 16:19:071586浏览

/**

 * 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


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn