php如何替换字符串指定第一处字符

2025-05-09 05:28:18
推荐回答(4个)
回答(1):

需要准备的材料分别是:电脑、php编辑器、浏览器。

1、首先,打开php编辑器,新建php文件,例如:index.php。

2、在index.php中,输入代码:

$a = "asdf123hjklqwet123yytu";$b=2;

echo str_replace('123', '456', $a, $b);

3、浏览器运行index.php页面,此时会发现字符串的第2处123被替换为了456。

回答(2):

$a = "asdf123hjklqwet123yytu";
$b = preg_replace('/123/', ' 456 ', $a);
echo $b;

回答(3):

第一种情况 简单

$a = "asdf123hjklqwet123yytu";
$a = preg_replace('/123/', '456', $a, 1); //只替换一次

第二种情况 我想了个笨方法
$a = "asdf123hjklqwet123yytu";

$arr = explode('123', $a); //用123拆分成数组
$a = implode('456', $arr); //再用456变成字符串"asdf456hjklqwet456yytu"
//或者直接用preg_replace('/123/', '456', $a)也行

$a = preg_replace('/456/', '123', $a, 1);//再用第一种情况的方法把第一个456换成123

总之就是利用preg_replace可以指定参数1 暂时没想到更好的办法

回答(4):

一般你这种需求都是如文章某段落中插入内容, 自己参考自己写成函数吧..

//以下代码在文章第二段落插入广告代码
$str = '

第一段落

第二段落

第三段落

第四段落

';

// 使用 preg_split 进行分割, 我们要第二行插入就分三次就行
// explode 不支持大小写所以不建议使用
$ad_str = preg_split("/<\/p>/i", $str, 3);

// 判断如果分割的数组中没有到3个成员就不替换了原文显示
if (empty($ad_str[2])) {
echo $str;
} else {
//拼接你要替换的内容
echo $ad_str[0], '

', $ad_str[1], '

广告代码', $ad_str[2];
}