在看Discuz模板的时候发现这样的语句
$var_regexp=((\\\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)(\[[a-zA-Z0-9_\-\.\\'\[\]\$\x7f-\xff]+\])*);
\x是16进制,这个我知道
但是我不明白怎么就能通过\x7f-\xff知道是哪个编码(GBK或gb2312或utf-8什么的)里的哪些字呢?
1.我对这块知道的很少,所以希望越详细越好。
2.上面代码来自:Discuz-template.func.php里的parse_template()函数
////楼一:
styletype=text/css
!--
body,td,th{
font-size:12px;
}
--
/style
说明:(数字,数字)两个数字代表对应的ASCII码,由这两个ASC组合可以生成该字!br/br/
?php
$charcount=0;
$br=0;
for($i=176;$i=215;$i++){
for($j=161;$j=254;$j++){
$br++;
echochr($i).(chr($j));
echo(.$i.,.$j.);
if(($br-13)==0){
echobr/;
$br=0;
}
$charcount++;
}
}
echobr/;
echo共.($charcount-5).个汉字;
?
!--129到254,起始必须小于248(不包括248)176,161=以啊开始,215,249以座结束--
这个我某天下午无聊.试出来的!
我看php参考手册遇到的
PHP中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。
变量名与PHP中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。按照正常的正则表达式,它将被表述为:'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'。
Note:在此所说的字母是a-z,A-Z,以及ASCII字符从127到255(0x7f-0xff)。
0 评论:
发表评论