php中有两个函数可以实现字符串替换,strtr和str_replace函数
strtr()函数
两个语法:
第一种语法:
string strtr( string $str, string $from, string $to)
第一个参数表示待转换的字符串。第二个参数表示字符串中与将要被转换的目的字符 to 相对应的源字符。第三个参数表示字符串中与将要被转换的字符 from 相对应的目的字符。
第二种语法:
string strtr( string $str , array $replace_pairs )
第一个参数表示待转换的字符串。第二个参数表示以数组键值形式替换指定字符串。
下面我们就结合两个简单的代码示例为大家详细介绍其中最为常用的strtr()函数用法及使用技巧。
使用strtr函数实现中文字符串替换
$str = "QIPA250奇葩天地网";
echo strtr($str, 'Q', 'q') . '<br>';
//如果要转换两个相同的目的字符,那么是以最后一个字符的值为标准。由于这里最后一个“P”对应的是“1”,所以替换结果就从“QIPA250奇葩天地网”转换为“QI1A250奇葩天地网”
echo strtr($str, 'PP', 'p1') . '<br>';
//则是替换空格符的结果
echo strtr($str, 'P', ' ') . '<br>';
echo strtr($str, 'PA', '12') . '<br>';
echo "<hr>";
PHP中strtr函数替换中文字符串:
$str = "QIPA250奇葩天地网";
echo strtr($str, array("奇" => '')) . '<br>';
echo strtr($str, array("奇" => '.', "天地" => "cn")) . '<br>';
echo "<hr>";
str_replace()函数
定义和用法
str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写)。
该函数必须遵循下列规则:
如果搜索的字符串是数组,那么它将返回数组。
如果搜索的字符串是数组,那么它将对数组中的每个元素进行查找和替换。
如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换
如果查找的是数组,而替换的是字符串,那么替代字符串将对所有查找到的值起作用。
注释:该函数区分大小写。请使用 str_ireplace() 函数执行不区分大小写的搜索。
注释:该函数是二进制安全的。
<?php
$arr = array("blue","red","green","yellow");
print_r(str_replace("red","pink",$arr,$i));
echo "替换数:$i";
?>
substr_replace()函数
substr_replace() 函数把字符串的一部分替换为另一个字符串。
注释:如果 start 参数是负数且 length 小于或者等于 start,则 length 为 0。
echo $str = "QIPA250*奇葩天地网";
echo "<br>";
echo $str_new = str_replace('*', '_', $str);
echo "<br>";
$username = "13800138000";
echo substr_replace($username, '****', '3', '4');
echo "<br>";
$arr = "活动你好我是活动大抽奖";
echo str_replace("活动", "<a style='color: #ff0000;'>活动</a>", $arr);