<?php
$value = “123~!@#$%^&*()_+<>?:,./;’,。、‘:“《》?~!@#¥%……()”;
preg_replace(“~(\s+|[\\pP])~i”,“-”,$value);
?>
上面是實例,簡單的說就是 [\\pP] 這幾個字符串了,可以匹配任何全角或半角的標點符號,參考上面的例子可以得出結果。Unicode 編碼並不只是為某個字符簡單定義了一個編碼,而且還將其進行了歸類。
\pP 其中的小寫 p 是 property 的意思,表示 Unicode 屬性,用於 Unicode 正表達式的前綴。
大寫 P 表示 Unicode 字符集七個字符屬性之一:標點字符。
其他六個是
L:字母;
M:標記符號(一般不會單獨出現);
Z:分隔符(比如空格、換行等);
S:符號(比如數學符號、貨幣符號等);
N:數字(比如阿拉伯數字、羅馬數字等);
C:其他字符