如何从php中的字符串中仅删除此类特殊字符░▒▓█►
我用这个preg_replace('/[\x00-\x1F\x80-\xC0]/u', '',$string);
但我想允许使用特殊字符,例如à,â,',“,用于法语
答案 0 :(得分:3)
您可以对拉丁字母使用\p{Latin}
等unicode字符类,对货币使用\p{Sc}
,为标点字符使用\p{P}
(或更短\pP
):
$str = preg_replace('/[^0-9\p{Latin}\pP\p{Sc}@\s]+/u', '', $str);
您可以在PCRE here中找到不同的unicode字符类。 (搜索句子:"支持以下一般类别属性代码" )
答案 1 :(得分:1)
因此,您希望使用UTF-8的代码点,但是您希望使用ISO 8859-15的字符编码方案。我想你可以做两次转换字符串:
$text = iconv("ISO-8859-15", "UTF-8", iconv("UTF-8", "ISO-8859-15//IGNORE", $text));
echo $text;