我使用下面的slugify方法,在我的本地開發工作正常,但在我的生產服務器(CentOs)和PCRE UTF8支持但沒有「Unicode屬性支持」。PHP slugify方法沒有使用preg_replace()
function slugify($text)
{
// replace non letter or digits by -
$text = preg_replace('~[^\\pL\d]+~u', '-', $text);
// trim
$text = trim($text, '-');
// transliterate
if (function_exists('iconv')) {
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
}
// lowercase
$text = strtolower($text);
// remove unwanted characters
$text = preg_replace('~[^-\w]+~', '', $text);
if (empty($text)) {
return 'n-a';
}
return $text;
}
而且preg_replace函數不工作在那裏,在那裏,可以作爲preg_replace函數,或者任何slugify muthod可作爲上述功能攜手任何方法。
在此先感謝。
爲什麼你需要UTF8的支持,如果你已經向我們ascii轉換? 定義「不能工作」 –
這是爲什麼被拒絕...? – Atticus
我需要unicode屬性實際支持 – mushfiq