最近做了个程序,用户提交字段基本做了个过滤。。
$string = strip_tags(mysql_real_escape_string(trim($string)));
用trim方式可以去掉内容前后的空格,但是由于编码是Utf8的,一些特殊空格就不行了。。比如全角空格还有一些特殊字符
比如chr(194).chr(160)
chr(227).chr(128).chr(128)。
一开始用
$w=trim($w,chr(194).chr(160));方法做,但是发现有些中文字也会被替换成乱码,网上查了一下trim的用法,发现他是按照字节进行比较替换了。
比如找到chr(160)或者找到chr(194)就替换,而且不是这两个字节加起来的整体。
采用$w = str_replace(chr(194).chr(160),"", $w);的方法,倒是可以,但是会把字符串中间出现的特殊空格替换掉。。虽然这个问题不大,但是还是希望可以只替换字符左右两个的特殊空格。