什么是mb_ereg_match()等于这个preg_match(“/ \ b $ q / i”,$ name)

时间:2017-07-14 11:22:27

标签: php regex unicode

这是我在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";
        }


   }
 }

0 个答案:

没有答案