php实现过滤中英文标点符号[gbk编码环境]

xiaoxiao2021-02-28  145

因项目需求需要对帖子标题做去重判断,前提是去除所有中英文标点符号。因为是老项目,gbk编码,在直接使用正则匹配去除标点符号时,发现会有乱码情况。在网上找了一些处理方法,多多少少都有些问题,满足不了我的需求。但也受到了些许启发,开始写了一个实现方法,有些麻烦,需要urlencode。

/** * 去除字符串中的标点符号[gbk编码环境] * @param $str * @return string */ function punctFilter($str){ //先去掉英文标点符号、空格等 $str = preg_replace('/[[:punct:]\s\n\t\r]/','',$str); //再匹配中文标点符号 直接进行中文标点符号匹配会乱码,因此先编码后匹配。 //若以下标点还满足不了需要,可搜索中文gbk编码表,将对应标点符号加上即可。 $pattern = '/(
转载请注明原文地址: https://www.6miu.com/read-35151.html

最新回复(0)