我想拥有一个从Unicode字符串创建子段的函数,例如gen_slug('Andrés Cortez')should return andres- cortez。我应该怎么做?
gen_slug('Andrés Cortez')
andres- cortez
代替冗长的替换,请尝试以下方法:
public static function slugify($text) { // replace non letter or digits by - $text = preg_replace('~[^\pL\d]+~u', '-', $text); // transliterate $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text); // remove unwanted characters $text = preg_replace('~[^-\w]+~', '', $text); // trim $text = trim($text, '-'); // remove duplicate - $text = preg_replace('~-+~', '-', $text); // lowercase $text = strtolower($text); if (empty($text)) { return 'n-a'; } return $text; }
这是基于Symfony的Jobeet教程中的内容。