2012-02-22 34 views
5

Tôi đang tham gia câu hỏi này/trả lời thêmLàm thế nào để tìm thấy nếu một chuỗi có tất cả các chữ tiếng Anh hoặc arabic

How to check, if a php string contains only english letters and digits?

nhưng nó thiếu ký tự đặc biệt kiểm tra, chúng ta có thể làm điều đó?

Mục tiêu của tôi là tìm hiểu xem chuỗi có ký tự tiếng Ả Rập hay không nhưng điều đó có thể khó khăn ... (nếu không xin vui lòng thông báo).

Ngoài ra chúng ta có thể kiểm tra xem nó có tất cả các nhân vật tiếng anh khác rõ ràng là nó sẽ là arabic kể từ khi tôi đã chỉ có hai ngôn ngữ này ...

+0

Bạn có thể thử 'mb_detect_encoding': http://php.net/manual/en/function.mb-detect-encoding.php – dbrumann

+0

Vì vậy, bạn muốn đảm bảo rằng chuỗi chỉ chứa tiếng Anh hoặc chỉ có các ký tự tiếng Ả Rập, đúng không? – DavidW

+0

http://stackoverflow.com/questions/2752691/how-to-detect-language-of-text? – Svish

Trả lời

9

Nếu nó không hoạt động, hãy thử như sau:

chức năng preg
$is_arabic = preg_match('/\p{Arabic}/u', $text); 

Các PHP, mà là dựa trên PCRE, hỗ trợ Unicode khi tùy chọn/u được nối vào cụm từ thông dụng, theo http://www.regular-expressions.info/unicode.html.

Các vấn đề liên quan