检测混合语言php

时间:2016-08-19 19:51:28

标签: php regex

我知道如何通过此

仅检测阿拉伯字母
   $string = " هذه اللغة العربية";
   if (preg_match('/^[A-Za-z]/', $string)){}else{ // is arabic

我知道如何仅检测英文字母

    $string ="This is english language" ;
   if (preg_match('/^[A-Za-z]/', $string)) {   // is english

但是如果它混合了它会检测到它是阿拉伯语。

   $string = "this is عربية" ;
    if (preg_match('/^[A-Za-z]/', $string)) { }else { // is arabic 

我想要的是当它混合然后将其检测为英语而非阿拉伯语。

如何添加这些符号@,以便

    $string = "@اتااتاتانت" ; // it will be also detected as english 

由于

1 个答案:

答案 0 :(得分:1)

遵循您的逻辑,您只需检查字符串是否包含ASCII字母:

if (preg_match('~[a-z]~ui', $input)) { 
   echo "It is NOT Arabic"; 
}

你甚至不在这里使用\p{Arabic}