PHP中${}什么意思,比如${1}
通常这个是在正则表达式匹配的时候取出匹配模式单元的时候用的,但是我不是很明白,取出模式单元不是用\\1这样的格式吗?...
通常这个是在正则表达式匹配的时候取出匹配模式单元的时候用的,但是我不是很明白,取出模式单元不是用\\1这样的格式吗?
展开
5个回答
展开全部
我也正看《细说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的第一个参数内容的。
展开全部
下面的我感觉不正确 ${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)在第三个单元后面添加'你'
//以上代码可以复制粘贴运行
<?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)在第三个单元后面添加'你'
//以上代码可以复制粘贴运行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
${1}就是引用第一个参数中的内容,${2}也就是引用第二个参数中的内容。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没这样的吧?
更多追问追答
追问
有的,你没有读过《细说PHP》 吗,里面的自定义模板引擎这一章就用到了,我不是很明白。
追答
那这就是smarty里的自定义标签了,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个符号式模板引擎中的用法,比如smarty ..但是这个绝对不是php中的用法。
想必你还不太了解什么是模板引擎,你的那本书当中应该有介绍的,你仔细看看,会明白的。
想必你还不太了解什么是模板引擎,你的那本书当中应该有介绍的,你仔细看看,会明白的。
追问
恩,谢了,不过这是那本书上的自定义引擎,并不是smarty里面的。听视频教程里面老师的意思,好像是正则表达式里面取出模式单元匹配项的一种方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询