简述:
讲到字符串替换,首先会想到的是 str_replace() 函数;但是,这个函数不足之处是,会替换掉字符串中所有出现的字符串,那么如何找到字符串第一次出现的位置并替换呢?
实现:
(1)preg_replace()函数 -- 执行一个正则表达式的搜索和替换
<?php
// preg_replace('/要查找的值/','替换的字符串','被搜索的字符串','替换次数')
# 将charge_person字符串中的第一次出现的"1,"替换成"6,";
$charge_person = "1,11,116,21,";
echo "charge_person:".$charge_person."<br>";
echo "**********"."<br>";
$str = preg_replace('/1,/', '6,', $charge_person, 1);
echo "new_charge_person:".$str."<br>";
结果展示:
(2) substr_replace(string,replacement,start,length)
<?php
// substr_replace('字符串','插入的字符串','字符串的何处开始替换','要替换字符长度')
# 将charge_person字符串中的第一次出现的"1,"替换成"6,";
$charge_person = "1,11,116,21,";
$needle = "1,";
echo "charge_person:".$charge_person."<br>";
echo "**********"."<br>";
$str = substr_replace($charge_person,"6,",strpos($charge_person,$needle),strlen($needle));
echo "new_charge_person:".$str."<br>";
效果:
(3)与str_replace()函数相对比,str_replace会替换字符串中所有出现的字符
<?php
// str_replace('要查找的值','被替换的字符串','被搜索的字符串')
# 将charge_person字符串中的"1,"替换成"6,";次函数会将字符串中出现的所以"1,"全部替换成"6,"
$charge_person = "1,11,116,21,";
echo "charge_person:".$charge_person."<br>";
echo "**********";
$str = str_replace('1,','6,',$charge_person);
echo "new_charge_person:".$str."<br>";
结果展示:
总结:
总结就是,没有总结,哈哈哈,告辞~