如何从PHP字符串中删除这种特殊字符我用这个preg_replace('/['x00-'x1F'x80-'xC0]/u', '',$string);
但是我想允许特殊字符,如:
您可以使用unicode字符类,如'p{Latin}
表示拉丁字母,'p{Sc}
表示货币,'p{P}
(或更短的'pP
)表示标点符号:
$str = preg_replace('/[^0-9'p{Latin}'pP'p{Sc}@'s]+/u', '', $str);
您可以在这里找到PCRE中可用的不同unicode字符类。(搜索语句:"支持以下一般类别属性代码")
所以,您希望使用UTF-8的代码点,但您希望使用ISO 8859-15的字符编码方案。我认为你可以把字符串转换两次:
$text = iconv("ISO-8859-15", "UTF-8", iconv("UTF-8", "ISO-8859-15//IGNORE", $text));
echo $text;