网站首页 > 知识剖析 正文
在PHP中,有两个函数可以实现字符串替换,strtr()和str_repalce()函数。
一、首先我们简单了解下strtr()函数的定义及语法。
strtr:转换指定字符。
第一种语法:
string strtr( string $str, string $from, string $to)
第一个参数表示待转换的字符串。
第二个参数表示字符串中与将要被转换的目的字符 to 相对应的源字符。
第三个参数表示字符串中与将要被转换的字符 from 相对应的目的字符。
<?php
$str = "PHP拥抱每一种H生活!";
echo $str;
echo strtr($str, 'P', 'A') . '';
echo "</br>";
echo strtr($str, 'PP', 'B') . '';
echo "</br>";
echo strtr($str, 'P', ' ') . '';
echo "</br>";
echo strtr($str, 'PH', '12') . '';
echo "</br>";
?>
结果:
PHP拥抱每一种H生活!
AHA拥抱每一种H生活!
BHB拥抱每一种H生活!
H 拥抱每一种H生活!
121拥抱每一种2生活!
大家可以结合代码和返回值来了解strtr函数这种语法替换字符串的规则。
这里有的朋友可能对第二行“PP”替换“B”的结果有些疑惑,这是因为如果要转换两个相同的目的字符,那么是以最后一个字符的值为标准。
由于这里最后一个“P”对应的是“B”,所以替换结果就从“PHP拥抱每一种H生活!”转换为“BHB拥抱每一种H生活!”。
第三行显示则是替换空格符的结果,也是非常容易理解的。其余情况替换对应的字符即可。
第二种语法:
string strtr( string $str , array $replace )
第一个参数表示待转换的字符串。
第二个参数表示以数组键值形式替换指定字符串。
<?php
$str = "PHP拥抱每一种生活!";
echo $str;echo "</br>";
echo strtr($str, array("每" => '22')) . '';
echo "</br>";
echo strtr($str, array("每" => '。', "生活" => "状态")) . '';
echo "</br>";
?>
结果:
PHP拥抱每一种生活!
PHP拥抱22一种生活!
PHP拥抱。一种状态!
PHP中strtr函数也可以实现中文字符串替换。
使用strtr函数不仅可以实现多个字符串替换还能实现中文字符串替换等。
二、str_replace()函数以其他字符替换字符串中的一些字符(区分大小写)。
该函数必须遵循下列规则:
如果搜索的字符串是数组,那么它将返回数组。
如果搜索的字符串是数组,那么它将对数组中的每个元素进行查找和替换。
如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余元素将用空字符串进行替换
如果查找的是数组,而替换的是字符串,那么替代字符串将对所有查找到的值起作用。
注释:该函数区分大小写。请使用str_ireplace()函数执行不区分大小写的搜索。
注释:该函数是二进制安全的。
<?php
$arr = array("blue","red","green","yellow");
print_r(str_replace("red","pink",$arr,$i));
echo "</br>";
echo "替换数:$i";
echo "</br>";
$find = array("Hello","world");
$replace = array("B","Q");
$arr = array("Hello","world","!");
print_r(str_replace($find,$replace,$arr));
?>
结果:
Array ( [0] => blue [1] => pink [2] => green [3] => yellow )
替换数:1
Array ( [0] => B [1] => Q [2] => ! )
猜你喜欢
- 2024-11-23 PHP7字符串、常量与输出
- 2024-11-23 SQL注入进阶篇一php代码审计
- 2024-11-23 PHP方式实现字符串混淆,随机位置插入随机字符
- 2024-11-23 php将unicode编码转为utf-8方法
- 2024-11-23 「PHP基础知识」字符串型(string)的使用
- 2024-11-23 字符串去符号转化为数组 #php
- 2024-11-23 PHP入门读书笔记(九):字符串介绍
- 2024-11-23 3分钟短文 | Laravel blade模板里优雅地定义PHP变量
- 2024-11-23 【php学习笔记】php中str_replace()方法使用笔记
- 2024-11-23 【php学习笔记】php中substr_replace()方法使用笔记
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)