php正則,刪除字符串中的中英文標點符號

原理很簡單,正則查找字符串,而後替換php

 

英文標點符號,正則中有專用的模式來匹配。中文則須要一一列舉blog

 

代碼:字符串

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

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

$pattern = array(
	"/[[:punct:]]/i", //英文標點符號
	'/['.$char.']/u', //中文標點符號
	'/[ ]{2,}/'
);
$str = preg_replace($pattern, ' ', $str);
echo $str;
相關文章
相關標籤/搜索