在php的模版编辑中,因为安全的需要,特殊字符会被过滤掉而无法传递到服务器端,但是我们却离不了这些特殊字符,为了解决这个问题,帝国cms设计了egetzy函数。该函数在/class/connect.php(帝国后台必须引用的文件)中,可见其重要性,其代码为:
//返回转义 function egetzy($n='2'){ if($n=='rn') { $str="rn"; } elseif($n=='n') { $str="n"; } elseif($n=='r') { $str="r"; } elseif($n=='t') { $str="t"; } elseif($n=='syh') { $str="""; } elseif($n=='dyh') { $str="'"; } else { for($i=0;$i<$n;$i++) { $str.=""; } } return $str; }
应用举例:
-
帝国后台,自定义页面,直接页面式
js代码:
who=who.replace(/[^dA-Za-zu3007u4E00-u9FCBuE815-uE864]+/g,',');
这个正则用来替换掉who中的中文,字符,数字以外的其他字符为逗号。表达式中的1个反斜杠需要用四个反斜杠替换能正确生成。
who=who.replace(/[^dA-Za-zu3007u4E00-u9FCBuE815-uE864]+/g,',');
也可以使用egetzy函数完成:
who=who.replace(/[^<?php echo egetzy(2)?>dA-Za-zu3007u4E00-u9FCBuE815-uE864]+/g,',');
2.图片模板中,分割多值字段
$morepic=$navinfor['morepic']; $mpr=explode(egetzy('rn'),$morepic);