0
我目前正在從我的數據庫中檢索數據。我收到一個包含帶有UTF8編碼值的'標題'索引的數組。我想就是用這個值作爲其中的東西將被保存的文件名,所以我這樣做:PHP - preg_replace和UTF8
file_put_contents($filename, $content);
其中$ filename是
'-' . $category['root'] . '-articles-' . $category['id'] . '-' . $this->Urlize($category['category'])
這裏「Urlize」 的代碼:
private function Urlize($value)
{
if ($value != null && trim($value) != '')
{
$value = preg_replace('/([\[\(].*[\]\)])/i', '', $value);
$value = preg_replace('/[\s]/i', '-', $value);
$value = preg_replace('/[,!?.;:\"\'&+\/]/i', '-', $value);
$value = preg_replace('/[-]+/i', '-', $value);
$value = preg_replace('/(^-)/i', '', $value);
$value = preg_replace('/-$/i', '', $value);
$value = preg_replace('/[éèê]/i', 'e', $value);
$value = preg_replace('/[âà]/i', 'a', $value);
$value = preg_replace('/[öô]/i', 'o', $value);
$value = preg_replace('/[ûùü]/i', 'u', $value);
$value = preg_replace('/[îïíì]/i', 'i', $value);
$value = preg_replace('/[#]/i', 'sharp', $value);
$value = preg_replace('/[<>]/i', '-', $value);
if ($value[strlen($value) - 1] == '-')
{
$value = substr($value, 0, strlen($value) - 1);
}
}
return strtolower($value);
}
我的問題是,標題爲 「Théorie興業銀行」,我得到 「theeorie-geeneerale」,所以 「E」 都翻了一倍。我想這是關於字符集的東西,我無法找到避免它的好方法。當然,我想要有「theorie-generale」。
感謝
正是我在找的東西。非常感謝 ! – ssougnez