$string = @iconv("UTF-8", "UTF-8", $string);
我正在使用此代码替换字符串中的Unicode字符,但是实际上,这是删除字符串中第一个Unicode符号后的所有字符。还有其他功能可以帮助我做到这一点吗?
我建议使用preg_replace
这样执行此操作:
preg_replace('/[\x00-\x1F\x7F]/u', '', $string);
甚至更好:
preg_replace('/[\x00-\x1F\x7F\xA0]/u', '', $string);
如果以上情况不适用于您的情况,则可能:
preg_replace( '/[^[:cntrl:]]/', '',$string);
还有一个选项可以过滤所需的内容,而不是删除不需要的内容。这样的事情应该起作用:
filter_var($string, FILTER_UNSAFE_RAW, FILTER_FLAG_STRIP_LOW|FILTER_FLAG_STRIP_HIGH);