【发布时间】:2013-02-16 10:57:39
【问题描述】:
我无法将 æ、ø 和 å 转换为 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;
}
有没有人知道如何解决这个问题。我尝试了很多在网上找到的不同的东西,但似乎没有任何效果。
【问题讨论】:
标签: php preg-replace special-characters str-replace