文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

php怎么替换字符串中的所有字符

2024-04-02 19:55

关注

本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

方法1:利用substr_replace()函数

substr_replace() 函数把字符串的一部分替换为另一个字符串。

substr_replace(string,replacement,start,length)
参数描述
string必需。规定要检查的字符串。
replacement必需。规定要插入的字符串。
start必需。规定在字符串的何处开始替换。
  • 正数 - 在字符串的指定位置开始
  • 负数 - 在从字符串结尾的指定位置开始
  • 0 - 在字符串中的第一个字符处开始
length可选。规定要替换多少个字符。默认是与字符串长度相同。
  • 正数 - 被替换的字符串长度
  • 负数 - 从字符串末端开始的被替换字符数
  • 0 - 插入而非替换

示例:替换字符串中的所有字符

只需要将该函数的第三个参数设置为0,第三个参数设置为原字符串长度或省略即可替换全部字符

<?php
header('content-type:text/html;charset=utf-8');   
$str = 'hello world!';
echo "原字符串:".$str."<br><br>";
$replace = 'ABCDEFGHIJKL';
echo "替换全部字符字符:".substr_replace($str, $replace,0)."<br>";
?>

1.png

方法2/方法3:str_ireplace() 和 str_replace() 函数

str_ireplace() 和 str_replace 都使用新的字符串替换原来字符串中指定的子字符串,如果需要替换的子串就是原字符串,则可替换原字符串中的所有字符。

str_ireplace() 和 str_replace的语法是相似的,区别在于str_replace 区分大小写,str_ireplace() 不区分大小写

str_replace(find,replace,string,count)
str_ireplace(find,replace,string,count)
参数描述
find必需。规定要查找的值。
replace必需。规定替换 find 中的值的值。
string必需。规定被搜索的字符串。
count可选。对替换数进行计数的变量。

示例:替换字符串中的所有字符

只需要将第一个参数设置为原字符串值即可。

<?php
header('content-type:text/html;charset=utf-8');   
$str = 'hello world!';
echo "原字符串:".$str."<br><br>";
$replace = 'ABCDEFGHIJKL';
echo "替换全部字符字符:".str_replace($str, $replace, $str)."<br>";
echo "替换全部字符字符:".str_ireplace($str, $replace, $str)."<br>";
?>

2.png

扩展知识:替换字符串还可利用正则替换函数preg_replace() 和preg_filter()

preg_replace() 和preg_filter()函数都可以执行正则表达式的搜索和替换,不同的是 preg_filter() 函数只返回匹配成功的结果,而 preg_replace() 返回所有结果,不管是否匹配成功。

preg_replace() 和preg_filter()函数的语法类似:

preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
preg_filter($pattern, $replacement, $subject [, $limit = -1 [, &$count]])

搜索 $subject 中匹配 $pattern 的部分, 以 $replacement 进行替换。

参数说明如下:

示例:

preg_filter()和preg_replace()利用正则来替换字符串

<?php
header('content-type:text/html;charset=utf-8');
$subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4'); 
$pattern = array('/\d/', '/[a-z]/', '/[1a]/'); 
$replace = array('A:$0', 'B:$0', 'C:$0'); 
 
echo "preg_filter 返回值:\n";
var_dump(preg_filter($pattern, $replace, $subject)); 
 
echo "preg_replace 返回值:\n";
var_dump(preg_replace($pattern, $replace, $subject)); 
?>

3.png

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯