str

str,第1张

php中在字符串的替换模块有3个函数,str_replace(),preg_replace(),以及strtr()。在编程过程中,这三个函数的执行效率有所不同,str_replace()函数比preg_replace()函数执行效率快,而strtr()函数的执行效率又高于str_replace(),所以在编程中建议使用strtr()函数。

str_replace():

str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)。

该函数必须遵循下列规则:

如果搜索的字符串是数组,那么它将返回数组。

如果搜索的字符串是数组,那么它将对数组中的每个元素进行查找和替换。

如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换

如果查找的是数组,而替换的是字符串,那么替代字符串将对所有查找到的值起作用。

$url = 'http://www.baidu.com/aaa/bbb/index.html'; 
$arr1 = ['com.cn','.html']; 
$arr2 = ['.cn','.shtml']; 
$url = str_replace($arr1,$arr2,$url); 

preg_replace():

preg_replace ()用于执行一个正则表达式的搜索和替换,一般很少使用。

echo preg_replace("/[0-9]/","",$str);//去掉所有数字 echo preg_replace("/[a-z]/","",$str); //这样是去掉所有小写字母 echo preg_replace("/[A-Z]/","",$str); //这样是去掉所有大写字母 echo preg_replace("/[a-z,A-Z]/","",$str); //这样是去掉所有字母

strtr():

strtr() 函数转换字符串中特定的字符。

注释:如果 from 和 to 参数的长度不同,则会被格式化为最短的长度。

得到的结果是: I lOve yOu

这个结果提醒我们:

1.strtr它是区分大小写的

2.strtr的替换是很特殊的,你注意看后面那个yOu,中间的O被替换的,这显然不是我们的本意。

再举一个特殊例子,说明这个php的sttr函数的怪异

结果是: I Love you

什么也不会改变,所以strtr需要注意的是:

3.不能被替换为空,也就是末位那个参数不能是空字符串,当然空格是可以的。

再次举例strtr函数的另一种情况:

结果是: I lOvEs yOu

注意看第三个参数的A,在结果中并没有出现。

4.我不建议用strtr以少换多。

ok,既然这个strtr函数挺麻烦为什么还要用呢?

原因是,它的速度很快。据说,strtr 比 str_replace 快四倍。

5.能用strtr函数的时候一定要用。

那怎么用才舒服?

这就是它的第二种情况:

strtr(string,array)

6.strtr符合意愿的使用方法

'her sister'); 
    echo strtr("I Love you",$table_change); 
?>

结果为: I Love her sister

7.小技巧:你想到替换什么你就往数组加什么

'her sister');
    $table_change += array('Love' => 'hate'); 
    echo strtr("I Love you",$table_change);
?>

结果是: I hate her sister

谢谢,ALL!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/800286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存