php如何替换字符串指定第一处字符
$a="asdf123hjklqwet123yytu"如何把第一个或第二个123替换成456得出$a="asdf456hjklqwet123yytu"或$a="asdf1...
$a = "asdf123hjklqwet123yytu"
如何把第一个或第二个123替换成456得出
$a = "asdf 456 hjklqwet 123 yytu" 或$a = "asdf 123 hjklqwet 456 yytu"; 展开
如何把第一个或第二个123替换成456得出
$a = "asdf 456 hjklqwet 123 yytu" 或$a = "asdf 123 hjklqwet 456 yytu"; 展开
4个回答
展开全部
$a = "asdf123hjklqwet123yytu";
$b = preg_replace('/123/', ' 456 ', $a);
echo $b;
追问
我只想问你们回答问题前有认真看完题目和不长问题吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一种情况 简单
$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 暂时没想到更好的办法
$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 暂时没想到更好的办法
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般你这种需求都是如文章某段落中插入内容, 自己参考自己写成函数吧..
//以下代码在文章第二段落插入广告代码
$str = '<p>第一段落</p><p>第二段落</P><p>第三段落</P><p>第四段落</p>';
// 使用 preg_split 进行分割, 我们要第二行插入就分三次就行
// explode 不支持大小写所以不建议使用
$ad_str = preg_split("/<\/p>/i", $str, 3);
// 判断如果分割的数组中没有到3个成员就不替换了原文显示
if (empty($ad_str[2])) {
echo $str;
} else {
//拼接你要替换的内容
echo $ad_str[0], '</p>', $ad_str[1], '</p>广告代码', $ad_str[2];
}
//以下代码在文章第二段落插入广告代码
$str = '<p>第一段落</p><p>第二段落</P><p>第三段落</P><p>第四段落</p>';
// 使用 preg_split 进行分割, 我们要第二行插入就分三次就行
// explode 不支持大小写所以不建议使用
$ad_str = preg_split("/<\/p>/i", $str, 3);
// 判断如果分割的数组中没有到3个成员就不替换了原文显示
if (empty($ad_str[2])) {
echo $str;
} else {
//拼接你要替换的内容
echo $ad_str[0], '</p>', $ad_str[1], '</p>广告代码', $ad_str[2];
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询