php正则表达式preg_replace只替换一次(有很多匹配项……)

$p=/(123)(456)/$r="结果:$1$2"echopreg_replace($p,$r,"123456123456")输出为:结果为:123456结果为:12... $p = /(123)(456)/
$r = "结果:$1$2"
echo preg_replace($p,$r,"123456123456")

输出为:结果为:123456结果为:123456

这不是我想要嗯结果,想要的结果为:

结果为:123456123456

即只替换一次,求指点……
展开
 我来答
是勇敢
2012-02-05 · 希望快乐渡过第一天。
是勇敢
采纳数:914 获赞数:1799

向TA提问 私信TA
展开全部
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
在 subject 中搜索 pattern 模式的匹配项并替换为 replacement。如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换。

如果要只一次,加上limit即可
<?php
$p = '/(123)(456)/';
$r = "结果:$1$2";
echo preg_replace($p,$r,"123456123456",1);
?>
这样更易理解
<?php
$p = '/(123)(456)/';
$r = "结果:$1aaaaaa$2";
echo preg_replace($p,$r,"123456123456",1);

?>
百度网友f20790b46
2012-02-01 · TA获得超过216个赞
知道小有建树答主
回答量:359
采纳率:0%
帮助的人:248万
展开全部
preg_replace($p,$r,"123456123456",1)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
KerisWang
2012-02-01 · TA获得超过935个赞
知道小有建树答主
回答量:154
采纳率:100%
帮助的人:125万
展开全部
楼上正解。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式