如何在symfony2中创建slugify?

时间:2013-06-23 02:39:51

标签: php symfony slug

我已经开始使用symfony2了,我发现了symfony 1.4中存在的一些函数,比如slugify。我需要这个才能改善卷毛。

3 个答案:

答案 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'