带有正则表达式的PHP preg_replace

时间:2014-04-05 00:06:47

标签: php regex preg-replace

我想为我的网站添加一些语言支持,例如mydomain.com/en/mydomain.com/fr/mydomain.com/de /

我希望将每个页面重定向到所选语言的等效内容,例如: mydomain.com/en/contact/到mydomain.com/fr/contact /

如何使用preg_replace()?

我只想获得像* mydomain.com /(en | fr | de)/ contact /?这样的正则表达式? 你能不能给我正确的正则表达式

这是我的功能:

function ch_lang($lang) {
    $curr_url   = str_replace('//', '/', SITE_URL . $_SERVER['REQUEST_URI']);
    if (isset($_GET['lang'])) {
        $new_url = preg_replace('|/(?:en|fr|de)/|', "/$lang/", $curr_url);
    } else {
        $new_url = str_replace('.local/', '.local' . $lang, $curr_url);
    }
    echo $new_url;
}

1 个答案:

答案 0 :(得分:2)

$link = 'mydomain.com/en/contact';
$lang_link = preg_replace('|/(?:en|fr|de)/|', "/$selected_lang/", $link);