欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP 截取字符串函数 strtr/str_replace

程序员文章站 2024-01-02 10:08:28
...
/**

* 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

上一篇:

下一篇: