2011-10-01 44 views
2

我使用下面的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可作爲上述功能攜手任何方法。

在此先感謝。

+0

爲什麼你需要UTF8的支持,如果你已經向我們ascii轉換? 定義「不能工作」 –

+0

這是爲什麼被拒絕...? – Atticus

+0

我需要unicode屬性實際支持 – mushfiq

回答