这是我在php中的代码:
if ($q !== "") {
$q = strtolower($q);
$len=mb_strlen($q);
foreach($a as $name) {
if (preg_match("/\b$q/i",$name)) {
if ($hint === "") {
$hint = $name;
} else {
$hint .= ",$name";
}
}
}
}
这项工作正常。但我想使用unicode字符串(UTF-8)而不是ascii字符串,所以我使用的是mb_ereg_match()。但它不起作用。我应该改变模式。但我不知道怎么办?
if ($q !== "") {
$q = mb_strtolower($q,'UTF-8');
$len=mb_strlen($q,'UTF-8');
foreach($a as $name) {
if(mb_stristr($name,$q)){
if ($m=mb_ereg_match("/\b$q/i",$name)) {
if ($hint === "") {
$hint = $name;
} else {
$hint .= ",$name";
}
}
}