本帖最后由 zhuhao 于 2012-01-01 11:35:31 编辑

解决方案 »

  1.   

    用PHP获取客户端浏览器的语言(用$_SERVER['HTTP_ACCEPT_LANGUAGE']来实现)<?php  $lan=$_SERVER['HTTP_ACCEPT_LANGUAGE'];                                            //获取浏览器语言版本
      if(preg_match("/[zh]{2}\-[hk]{2}/",$lan)||preg_match("/[zh]{2}\-[tw]{2}/",$lan)){
        echo "繁体";
      }elseif (preg_match("/(?i)^[en]/",$lan)){
        echo "english";
      }elseif (preg_match("/[zh]{2}\-[cn]{2}/",$lan)){                                                    
        echo "简体";
      }else{                                                                                                                //其他转到英文或其他页面
        echo "other language";
      }
    ?>
      

  2.   

    谢谢楼上两位,可能我没说明白我的意思,说简单一点吧
    www.baidu.com/index.php(这个地址只是例子,这些链接地址是已经存在数据里面的)我现在是想把上面的地址改成,
    如果获取的语言是“zh”,地址改成
    $link=www.baidu.com/zh/index.php如果获取的语言是“ja”,地址改成
    $link=www.baidu.com/ja/index.php如果获取的语言是“en”,地址改成
    $link=www.baidu.com/en/index.php<a href=<?PHP echo $link ?>title</a>简单的说就是在字符串中的指定位置插入字符串
      

  3.   

    第一个问题解决了,我直接的用替换函数$st="www.baidu.com/digitown/index.php";
    echo str_replace("digitown","digitown/zh",$st);
    请问第二个问题应该怎么做呢??
    二。<!--:zh-->更多信息<!--:--><!--:en-->More Info<!--:--><!--:ja-->詳細情報<!--:-->
    以上字符串,
    如果页面是中文,就显示zh里面的“更多信息”
    如果页面是日文,就显示ja里面的“详细情报”
    如果页面是英文,就显示en里面的“More Info”
      

  4.   

    这个意思?
    $s = 'http://www.baidu.com/index.php';
    $ch = 'zh';
    $t = parse_url($s);
    $p = $t['path'];echo str_replace($p, "/$ch$p", $s);//http://www.baidu.com/zh/index.php
      

  5.   

    第二个问题:实际上是 国际化多语言的问题。你可以写一函数。传入语言,显示相关内容。如:
    msg(' x_more_infor', 'zh')  //结果 :更多信息$msg[' x_more_infor'] = 'More info';
      

  6.   

    受益了  我也在学PHP 
      

  7.   

    二。<!--:zh-->更多信息<!--:--><!--:en-->More Info<!--:--><!--:ja-->詳細情報<!--:-->我现在就是不知道怎么获取。<!--:zh--> <!--:-->之间的内容,因为这些字符串也是通过数据库获取的
      

  8.   

    是不是要这样 
    $Str = '<!--:zh-->更多信息<!--:--><!--:en-->More Info<!--:--><!--:ja-->詳細情報<!--:-->';
    $Lg = 'en';
    switch ($Lg) {
    case 'zh' :
    $Pat = '/<!--:zh-->(.*)<!--:-->/U';
    break;
    case 'ja' :
    $Pat = '/<!--:ja-->(.*)<!--:-->/U';
    break;
    case 'en' :
    $Pat = '/<!--:en-->(.*)<!--:-->/U';
    break;
    }
    preg_match ( $Pat, $Str, $Marray );
    echo $Marray [1];//More Info