preg_replace 第二个参数用函数的问题.

$var=preg_replace('/\[image-(\d+)\]/U',$group->imageElement(\${1}),$content)代码中第二个参数用... $var = preg_replace('/\[image-(\d+)\]/U', $group->imageElement(\${1}),$content)

代码中第二个参数用了一个对象方法,然后把前面匹配的引用作为参数不成功.请问各位高手如何解决?
展开
 我来答
阳光上的桥
推荐于2016-12-01 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65793
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
使用e修饰符就可以,但是你的语句比较复杂,你可能需要反复调试一下,下面是手册里面的例子:
<?php
preg_replace("/(<\/?)(\w+)([^>]*>)/e",
"'\\1'.strtoupper('\\2').'\\3'",
$html_body);
?>

正在表达式里面的e修饰符,替换内容仍然是一个字符串,但是系统在进行替换前要eval调用一下,所以可以执行函数,只是注意里面多次转义的书写,不知道下面这样是否可行,可能需要你调试改进:

$var = preg_replace('/\[image-(\d+)\]/Ue', '$group->imageElement(\${1})',$content)
来自:求助得到的回答
free95
2013-03-08 · TA获得超过163个赞
知道小有建树答主
回答量:132
采纳率:100%
帮助的人:91.8万
展开全部
你这个方法$group->imageElement(\${1}),返回了什么啊,你自己输出之后,在发提问吧。。。
比如echo $group->imageElement(\${1});结果是123123$1123123,
那你就发$var = preg_replace('/\[image-(\d+)\]/U', ‘123123${1}123123’,$content);好了,
现在看既然出错了,那么$group->imageElement(\${1})出来的值就有问题了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyhyab4691
2013-03-08
知道答主
回答量:66
采纳率:0%
帮助的人:38万
展开全部
,,把参数提出去,赋值给新的变量, 再把新的变量放到这个函数里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式