php如何去除标点符号

来自:互联网
时间:2020-09-25
阅读:

php正则,删除字符串中的中英文标点符号

原理很简单,正则查找字符串,然后替换

英文标点符号,正则中有专用的模式来匹配。中文则需要一一列举

代码:

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