检测混合语言php


Detect mixed language php

我知道如何通过这个

只检测阿拉伯字母
   $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 

谢谢

按照您的逻辑,您所需要的就是检查字符串是否包含ASCII字母:

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

这里甚至没有使用'p{Arabic}