我有这个:
$var = "User_èéàùìò";
if(0 < count(array_intersect(array_map("strtolower", str_split($var)), array("ì", "è", "é", "ò", "à"))))
回声“真实”;
其他
echo“false”;
返回“false”。我该怎么办?
答案 0 :(得分:1)
你知道php字符串函数实际上可以处理二进制数据但不能处理文本。您的文本编码为UTF8。因此,您无法在其上使用str_split
。
$var = "User_èéàùìò"; // has 11 characters
str_split($var); // has 17 items
最好使用支持多字节字符的正则表达式。
$var = "User_èéàùìò";
var_dump(preg_match('/[ìèéòà]/iu', $var)); // i - case insensitive, u - utf character