原理很簡單,正則查找字符串,而後替換php
英文標點符號,正則中有專用的模式來匹配。中文則須要一一列舉blog
代碼:字符串
<?php $str = "!@#$%^&*(中'文:;﹑•中'文中'文().,<>|[]'\""; //中文標點 $char = "。、!?:;﹑•"…‘’「」〝〞∕¦‖— 〈〉﹞﹝「」‹›〖〗】【»«』『〕〔》《﹐¸﹕︰﹔!¡?¿﹖﹌﹏﹋'´ˊˋ―﹫︳︴¯_ ̄﹢﹦﹤‐˜﹟﹩﹠﹪﹡﹨﹍﹉﹎﹊ˇ︵︶︷︸︹︿﹀︺︽︾ˉ﹁﹂﹃﹄︻︼()"; $pattern = array( "/[[:punct:]]/i", //英文標點符號 '/['.$char.']/u', //中文標點符號 '/[ ]{2,}/' ); $str = preg_replace($pattern, ' ', $str); echo $str;