1

我在将æ,øå转换为ae, oeand时遇到问题aa

我正在尝试使用此功能创建一个对 seo 友好的 url,但它只是删除了æøå标志。

我的功能是:

function seo_friendly_url($string, $cid) {
    //Unwanted:  {UPPERCASE} ; / ? : @ & = + $ , . ! ~ * ' ( )
    $string = strtolower($string);
    //Convert ÆØÅ
    $string = str_replace(chr(230), 'ae', $string); 
    $string = str_replace(chr(248), 'oe', $string); 
    $string = str_replace(chr(229), 'aa', $string); 
    //Strip any unwanted characters
    $string = preg_replace("/[^a-z0-9_\s-]/", "", $string);
    //Clean multiple dashes or whitespaces
    $string = preg_replace("/[\s-]+/", " ", $string);
    //Convert whitespaces and underscore to dash
    $string = preg_replace("/[\s_]/", "-", $string);
    return $string;
}

有没有人对如何解决这个问题有任何想法。我尝试了很多在网上找到的不同的东西,但似乎没有任何效果。

4

1 回答 1

1

看看这个手​​册页上的评论:http: //php.net/manual/en/function.urlencode.php

也许是这样的:

function seo_friendly_url($url) {
    $url = strtolower($url);
    $url=str_replace('æ','ae',$url);
    $url=str_replace('ø','oe',$url);
    $url=str_replace('å','aa',$url);    
    return urlencode($url);
}

会做吗?

于 2013-02-16T11:09:58.800 回答