浏览器中的URL和特定于语言的字符

时间:2014-11-28 15:30:50

标签: php url encoding

目前,我的网址有http://example.com /kjøretøy/ biler / vw-golf和http://example.com//elektronikk /lydløs-stue-pc_i3等问题。 当我复制网址时,我会http://example.com//kj%C3%B8ret%C3%B8y/biler/vw-golfhttp://example.com//elektronikk/lydl%C3%B8s-stue-pc_i3。 我是带有SEF /永久链接的OSclass,用于生成搜索引擎友好的URL。 如何在浏览器的URL中分别显示æ,ø,å等特殊字符作为ae,oe和aa?

提前致谢。

编辑: 谢谢你。但我忘了提到它都是用Apache重写完成的:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] 
</IfModule>

1 个答案:

答案 0 :(得分:0)

有一些关于htmlentities和preg_replace的小技巧。 我通常使用这个自制功能:

function url_sanitize($url) {
    $url = strtolower(htmlentities(str_replace(' ', '-', $url)));
    $url = preg_replace('#&([a-z])(?:acute|cedil|caron|circ|grave|orn|ring|slash|th|tilde|uml);#', '$1', $url);
    $url = preg_replace('#&([a-z]{2})(?:lig);#', '$1', $url);
    $url = preg_replace('#&[^;]+;#', '', $url);
    return $url;
}