php 正则表达式含意
程序员文章站
2024-01-12 12:12:04
...
php 正则表达式含义
$string = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4}));)/', '&\\1',
str_replace(array('&', '"', ''), array('&', '"', '<', '>'), $string));
转义字符串中的特殊字符
'/&((#(\d{3,5}|x[a-fA-F0-9]{4}));)/', '&\\1', 这部分含义?
------解决方案--------------------
拆开理解就是了
然后把&#nnnnn 或 &#xnnnn 换成 nnnnn
\\1表示对第一个括号内的内容原样保留,就是((#(\d{3,5}
------解决方案--------------------
x[a-fA-F0-9]{4}))这部分
------解决方案--------------------
这个是DISCUZ 的过滤函数对吧。
其实这个函数的意识就是过滤 HTML字符串,但是那些已经被过滤了的,比如“'"”单引号双引号。“&”的实体是&那么像这样的就不过滤,保留,以防多次过滤。结果 &变成了&amp;
$string = preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4}));)/', '&\\1',
str_replace(array('&', '"', ''), array('&', '"', '<', '>'), $string));
转义字符串中的特殊字符
'/&((#(\d{3,5}|x[a-fA-F0-9]{4}));)/', '&\\1', 这部分含义?
------解决方案--------------------
拆开理解就是了
然后把&#nnnnn 或 &#xnnnn 换成 nnnnn
\\1表示对第一个括号内的内容原样保留,就是((#(\d{3,5}
------解决方案--------------------
x[a-fA-F0-9]{4}))这部分
------解决方案--------------------
这个是DISCUZ 的过滤函数对吧。
其实这个函数的意识就是过滤 HTML字符串,但是那些已经被过滤了的,比如“'"”单引号双引号。“&”的实体是&那么像这样的就不过滤,保留,以防多次过滤。结果 &变成了&amp;
//取消HTML代码
function shtmlspecialchars($string) {
if(is_array($string)) {
foreach($string as $key => $val) {
$string[$key] = shtmlspecialchars($val);
}
} else{
$string = preg_replace('/&((#(\d{3,5}
------解决方案--------------------
x[a-fA-F0-9]{4})
------解决方案--------------------
[a-zA-Z][a-z0-9]{1,5});)/', '&\\1',
str_replace(array('&', '"', '','\''), array('&', '"', '<', '>','''), $string));
}
return $string;
}
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论