我正在使用下一个帮助器通过Eloquent Accessors修剪模型上用户的first_name和last_name:
function clean($string){
return trim($string, " 't'n'r'0'x0B'xc2'xa0");
}
然后在模型中:
public function getFirstNameAttribute($firstname){
return clean(ucwords(strtolower($firstname)));
}
public function getLastNameAttribute($lastname){
return clean(ucwords(strtolower($lastname)));
}
很多名字都来自excel,后面有空格,可以去掉'xa0,但是当它试图去掉特殊字符时,问题就来了,如(
我试着删除它,它没有失败,但是,它没有删除尾随空格。
我也试着确保头的字符集设置为utf-8
任何想法?谢谢。
我只想让不可见的空格消失:/
错误信息:
InvalidArgumentException in JsonResponse.php line 69:
Malformed UTF-8 characters, possibly incorrectly encoded
尝试使用mb_strtolower()
和mb_convert_case()
代替strtolower()
和ucwords()
。
代替trim()
,你可以从这里尝试这个函数:
function mb_trim($str) {
return preg_replace("/(^'s+)|('s+$)/us", "", $str);
}