UTF8 trong PHP REGEX (preg_match)

Các Pro cho hỏi xíu. E có code như thế này, làm sao để preg_match nhận biết UTF8 :

 $nameUser = "Nguyễn Nhật Hiền";
 if (preg_match("/^[\w\s]$/", $nameUser)){
 echo"OK";
 }else{
 echo"fail";
 }

Thanks mọi người.

Utf-8 là 1bộ mã, gồm cả digit, space đủ các thức, nhận biết Utf-8 là gì, mục đích gì? Để bắt tên tiếng Việt?

Bạn dùng \p nhé. Cụ thể là \p{L}
Kỹ hơn thì đọc cái này nha
http://php.net/manual/en/regexp.reference.unicode.php

6 Likes

Mình mới search được cách khác, cũng được lắm.
Cách 1: /[^a-z0-9A-Z_\x{00C0}-\x{00FF}\x{1EA0}-\x{1EFF}]/u
Cách 2: /[^a-z0-9A-Z_ÀÁÂÃÈÉÊÌÍÒÓÔÕÙÚĂĐĨŨƠàáâãèéêìíòóôõùúăđĩũơƯĂẠẢẤẦẨẪẬẮẰẲẴẶẸẺẼỀỀỂưăạảấầẩẫậắằẳẵặẹẻẽềềểỄỆỈỊỌỎỐỒỔỖỘỚỜỞỠỢỤỦỨỪễệỉịọỏốồổỗộớờởỡợụủứừỬỮỰỲỴÝỶỸửữựỳỵỷỹ]/u

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?