PHP正则表达式判断及过滤特殊字符

  • 2018-11-14
  • 0
  • 0

过滤指定字符

$regex = "/\ |\/|\~|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\_|\+|\{|\}|\:|\<|\>|\?|\[|\]|\,|\.|\/|\;|\'|\`|\-|\=|\\\|\|/";
//判断是否存在特殊字符
preg_match($regex, $str)
//过滤特殊字符
preg_replace($regex, '',$str)


哪些不需要判断或过滤,在表达式{$regex}内去除即可。

过滤中英文字符

$str = "!@#$%^&*(中'文:;﹑•中'文中'文().,<>|[]'\""; 
//中文标点
$char = "。、!?:;﹑•"…‘’“”〝〞∕¦‖— 〈〉﹞﹝「」‹›〖〗】【»«』『〕〔》《﹐¸﹕︰﹔!¡?¿﹖﹌﹏﹋'´ˊˋ―﹫︳︴¯_ ̄﹢﹦﹤‐­˜﹟﹩﹠﹪﹡﹨﹍﹉﹎﹊ˇ︵︶︷︸︹︿﹀︺︽︾ˉ﹁﹂﹃﹄︻︼()";
 $pattern = array(
    "/[[:punct:]]/i", //英文标点符号
    '/['.$char.']/u', //中文标点符号
    '/[ ]{2,}/'
);
$str = preg_replace($pattern, '', $str);
echo $str;

评论

还没有任何评论,你来说两句吧