1

我有这个:

$var = "User_èéàùìò";
if(0 < count(array_intersect(array_map("strtolower", str_split($var)), array("ì", "è", "é", "ò", "à"))))

回声“真”;否则回显“假”;

这将返回“假”。我应该做些什么?

4

1 回答 1

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
于 2013-10-31T00:34:37.390 回答