我在将æ、ø和å转换成ae、oe和aa时遇到了问题。
我试图用这个功能做一个搜索引擎优化友好的网址,但它只是删除了æøå的标志。
我的功能是:
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;
}有没有人有办法解决这个问题。我尝试了许多在网络上发现的不同的东西,但似乎都不起作用。
发布于 2013-02-16 19:09:59
查看此手册页上的注释: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);
}会这么做吗?
https://stackoverflow.com/questions/14909522
复制相似问题