我已经开始使用symfony2了,我发现了symfony 1.4中存在的一些函数,比如slugify。我需要这个才能改善卷毛。
答案 0 :(得分:8)
如果你有php-intl:
/**
* Transform (e.g. "Hello World") into a slug (e.g. "hello-world").
*
* @param string $string
*
* @return string
*/
public function slugify($string)
{
$rule = 'NFD; [:Nonspacing Mark:] Remove; NFC';
$transliterator = \Transliterator::create($rule);
$string = $transliterator->transliterate($string);
return preg_replace(
'/[^a-z0-9]/',
'-',
strtolower(trim(strip_tags($string)))
);
}
否则,请查看the doctrine extensions
答案 1 :(得分:4)
使用l3ppard的sluggable extension(GitHub repository)......
...或KnpLabs sluggable behavior(GitHub repository)。
答案 2 :(得分:2)
我使用util.php进行slugify。但它并不需要Symfony,但它可以很好地使用它。
util::slugify('This is a random --string with an Ãccent');
=> Returns 'this-is-a-random-string-with-an-accent'