我的一些网址存在一个小问题。让我们说that $result['title']
=雪铁龙
在我的网址中,我希望这个词成为“雪铁龙”。以下函数完成所有操作,除了它删除了“ë”,所以我的url变成了“citron”。
<?php echo strtolower(preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $result['title'])));?>
我以为我可以使用iconv
来解决这个问题......但它不起作用。 “雪铁龙”仍然被“香橼”取代。
<?php echo strtolower(preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', iconv('UTF-8', 'ASCII//TRANSLIT', $result['title']))));?>
那么,我在这里错过了什么?
答案 0 :(得分:2)
好的,我明白了。我需要设置目标语言环境。以下代码有效(因此“Citroën”变为“雪铁龙”):
<?php setlocale(LC_ALL, 'en_GB.utf8'); echo strtolower(preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', iconv('UTF-8', 'ASCII//TRANSLIT', $result['titel']))));?>