我无法理解如何保留挪威字母 “æøå”在这个preg_replace函数中,我将论坛标题修改为SEO URL。 我的网站以“iso-8859-1”呈现。
我想要的方式:someurl.com/read=kjøp_og_salg
目前看起来像这样: someurl.com/read=kj_p_og_salg
//----- The seo url function ------//
public function make_seo_name($title){
$title = preg_replace('/[\'"]/', '', $title);
$title = preg_replace('/[^a-zA-Z0-9]+/', '_', $title);
$title = strtolower(trim($title, '_'));
return $title;
}
我在utf8_encode/decode
完成之前和之后尝试$title
preg_replace
,但没有效果。
感谢您的时间!
修改
解决了,我在“One Trick Pony”的帮助下修复了它。我最终得到了这个功能。
public function make_seo_name($title){
$title = utf8_encode($title);
$title = preg_replace('/[\'"]/', '', $title);
$title = preg_replace('/[^a-zA-Z0-9\ø\å\æ]+/', '_', $title);
$title = strtolower(trim($title, '_'));
return $title;
}
注意:我不需要将标题从“iso-8859-1”更改为“UTF-8”
答案 0 :(得分:0)
将文档编码设置为utf-8或iso-8859-1,并将字符添加到列表中,如:
<head><meta charset="utf-8" /></head>
和
$title = preg_replace('/[^a-zA-Z0-9æøå]+/', '_', $title);
答案 1 :(得分:0)
'/[^a-zA-Z0-9]+/'
位是regular expression,表示只匹配不字符a
到z
,{{1}的字符通过A
或Z
到0
。基本语法是on wikipedia。
9
然后用下划线替换这些字符。
您可以将要包含的额外字符添加到此列表中:
preg_replace