您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php 正则表达式含意

2024/4/8 1:24:53发布9次查看
php 正则表达式含义
$string = preg_replace('/&((#(\d{3,5}|x[a-fa-f0-9]{4}));)/', '&\\1',
str_replace(array('&', '', ''), array('&', '', 'a41ae70fde3817befc74e7213b47cee1'), $string));
转义字符串中的特殊字符
'/&((#(\d{3,5}|x[a-fa-f0-9]{4}));)/', '&\\1', 这部分含义?
------解决方案--------------------
拆开理解就是了
然后把&#nnnnn 或 &#xnnnn 换成 nnnnn
\\1表示对第一个括号内的内容原样保留,就是((#(\d{3,5}
------解决方案--------------------
x[a-fa-f0-9]{4}))这部分
------解决方案--------------------
引用:$string = preg_replace('/&((#(\d{3,5}
------解决方案--------------------
x[a-fa-f0-9]{4}));)/', '&\\1',
str_replace(array('&', '', ''), array('&', '"', '<', '>'), $str……
这个是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;
}

该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product