我无法将æ
,ø
和å
转换为ae
,oe
和aa
。
我正在尝试使用此功能制作一个seo友好的网址,但它只删除了æøå
个符号。
我的功能是:
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;
}
有没有人对如何解决这个问题有任何想法。我尝试过在网络上发现的许多不同的东西,但似乎没有任何工作。
答案 0 :(得分: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);
}
会这样做吗?