zh(中文)en(英文)ja(日文)以上字符串,
如果语言是zh就显示“中文”
如果语言是en就显示“英文”
如果语言是ja就显示“日文”请问怎么实现这样的功能

解决方案 »

  1.   

    我没有验证过这个方法。不过收藏过一个关于正则的网站,供你分享。
    参考:http://www.regular-expressions.info/unicode.html。可以尝试用正则判断,比如中文文字的编码范围: U+4E00..U+9FFF,再笨一点的方法,接一个GOOGLE翻译API,利用google判断文字的语言。
      

  2.   

    回PhpNewnew大大:
    我觉得上次那个分割符太长有点复杂,我就想改成简单一点的,但是我用()替换上去,就不行。回changjay大大:
    谢谢您的资料,这我会学习,只是目前我想改别人的博客系统,如果是自己做的网站,我就不用纠结这些问题了google翻译有些不准。
      

  3.   


    $ss='en(英文)zh(中文)ja(日语)';
    $la='en';
    switch ($La) {
        case 'zh' :
            $Pak = '/zh((.*))/U';
            break;
        case 'ja' :
            $Pak = '/ja((.*))/U';
            break;
        case 'en' :
            $Pak = '/en((.*))/U';
            break;
    }
    preg_match ( $Pak, $ss, $Marray1 );
    echo $Marray1[1];
      

  4.   

    第一個錯誤  switch $La 修改成 $la.
    第二個正則需要添加轉義符 代碼如下
    $ss = 'en(英文)zh(中文)ja(日语)';
    $la = 'en';
    switch ($la) {
    case 'zh' :
    $Pak = '/zh\((.*)\)/';
    break;
    case 'ja' :
    $Pak = '/ja\((.*)\)/U';
    break;
    case 'en' :
    $Pak = '/en\((.*)\)/U';
    break;
    }
    preg_match ( $Pak, $ss, $Marray1 );
    echo $Marray1 [1];