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


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

 

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

 

代码:

<?php   
$str = "!@#$%^&*(中'文:;﹑•中'文中'文().,<>|[]'\"";  

//中文标点 
$char = "。、!?:;﹑•"…‘’“”〝〞∕¦‖— 〈〉﹞﹝「」‹›〖〗】【»«』『〕〔》《﹐¸﹕︰﹔!¡?¿﹖﹌﹏﹋'´ˊˋ―﹫︳︴¯_ ̄﹢﹦﹤‐­˜﹟﹩﹠﹪﹡﹨﹍﹉﹎﹊ˇ︵︶︷︸︹︿﹀︺︽︾ˉ﹁﹂﹃﹄︻︼()";

$pattern = array(
	"/[[:punct:]]/i", //英文标点符号
	'/['.$char.']/u', //中文标点符号
	'/[ ]{2,}/'
);
$str = preg_replace($pattern, ' ', $str);
echo $str;

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM