当前位置:编程学习 > php >>

php 正则,模板变量,一些源码的模板中为什么变量的正则表达式中的美元符号前是三个转义字符

如下:$var_regexp = "((\\\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)(-\>[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)?(\[[a-zA-Z0-9_\-\.\"\'\[\]\$\x7f-\xff]+\])*)"; $前有三个斜杠,我的理解是匹配\$,但是我不知道模板中的字符什么时候被转义了的,按理说应该就只借用\$去匹配就可以了,为什么非得用\\\$呢
追问:你大爷的,不会就别回答嘛
答案:其实源自php的处理函数,preg_replace类似的正则函数,这些函数是他调用的扩展,在处理字符串时候需要先将字符串按照php解析一次,\\\$要解析成\$,然后扩站立的函数还要解析一次,\$变成$,所以最后\\\$其实是匹配$
其他:优化百度相关搜索(底层相关搜索); 可以让搜索某一个行业关键词时,出现你的项目品牌词,比如:搜索  优化软件  时,最下面出现  WanDot优化软件    同时也可以搜索某一个品牌词时,相关搜索都出现你的品牌词。 \\ -->\
\$-->$
结果\$ 因为\本身也需要被转义 

上一个:js获取到的值如何用ajax传到php中
下一个:php中:怎么写:在登录页面填写的用户名的值,显示到另一个页面的姓名处

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,