PHP中${}什么意思,比如${1}

通常这个是在正则表达式匹配的时候取出匹配模式单元的时候用的,但是我不是很明白,取出模式单元不是用\\1这样的格式吗?... 通常这个是在正则表达式匹配的时候取出匹配模式单元的时候用的,但是我不是很明白,取出模式单元不是用\\1这样的格式吗? 展开
 我来答
爆米花小说
2015-10-19 · TA获得超过1461个赞
知道小有建树答主
回答量:290
采纳率:75%
帮助的人:158万
展开全部

  我也正看《细说PHP》那本书,也看到了这部分,${1}让我费解好半天,我查资料查了一个下午终于搞明白是什么意思了,这是preg_replace()正则表达式函数中的一个功能,一开始我以为是表达式的量词,就如同A{1},指定A出现的次数,但说不通。在函数手册中终于找到了${1},但看了半天也没看懂那段中文,估计是程序翻译的英文,看不懂。上面写的是后向引用(估计是程序自动翻译造成的结果),网上也有说是反向引用或逆向引用,最后终于在字里行间看懂什么意思了。就是反向引用preg_replace()中参数的内容。

  ${1}就是引用第一个参数中的内容,${2}也就是引用第二个参数中的内容。以此类推。

  

preg_replace ( $pattern , $replacement , $subject)

  ${1}的意思就是引用$pattern参数中的内容。如:

  

preg_replace ('大好人' , '卧底:${1}','我是大好人')
  输出结果:我是卧底:大好人。

  所以说${1}就是引用preg_replace的第一个参数内容的。

那年雨天我丶
2016-10-14
知道答主
回答量:1
采纳率:0%
帮助的人:1071
展开全部
下面的我感觉不正确 ${1}匹配的是正则里面的内容,php正则里面有一个符号是 ( )这个符号表示一个单元, ${1}表示第一个单元内的内容.以下举个例子.
<?php
header("content-type:text/html;charset=utf-8");
$pattern='/(a)(m),(g)/';
$subject='hello, i am,good person ,aa mame nname';
$str=preg_replace($pattern, '${1}我和${2}${3}你', $subject);
?>

//输出为hello, i a我和mg你ood person ,aa mame nname
//解释:(1)在第一个单元后面添加'我'.(2)在第二个单元前面添加'和'.(3)在第三个单元后面添加'你'
//以上代码可以复制粘贴运行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
山西新华电脑学校
2020-07-29 · 初高中毕业学互联网技术来山西新华
山西新华电脑学校
山西新华电脑学校办学30多年,主要从事互联网教育。
向TA提问
展开全部
${1}就是引用第一个参数中的内容,${2}也就是引用第二个参数中的内容。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
未学随空che2f
2011-11-06 · TA获得超过307个赞
知道小有建树答主
回答量:1511
采纳率:0%
帮助的人:742万
展开全部
没这样的吧?
更多追问追答
追问
有的,你没有读过《细说PHP》 吗,里面的自定义模板引擎这一章就用到了,我不是很明白。
追答
那这就是smarty里的自定义标签了,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天色无双
2011-11-06 · TA获得超过394个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:260万
展开全部
这个符号式模板引擎中的用法,比如smarty ..但是这个绝对不是php中的用法。
想必你还不太了解什么是模板引擎,你的那本书当中应该有介绍的,你仔细看看,会明白的。
追问
恩,谢了,不过这是那本书上的自定义引擎,并不是smarty里面的。听视频教程里面老师的意思,好像是正则表达式里面取出模式单元匹配项的一种方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式