Home » Php » php – How can I create slugify in symfony2?

php – How can I create slugify in symfony2?

Posted by: admin July 12, 2020 Leave a comment

Questions:

I have started to use symfony2 and I have found some functions that exists in symfony 1.4 like slugify. I need this in order to improve the furl.

How to&Answers:

Use either l3ppard’s sluggable extension ( GitHub repository) …

… or KnpLabs sluggable behavior ( GitHub repository ).

Answer:

If you have 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)))
    );
}

Otherwise, have a look on the doctrine extensions

Answer:

I used util.php for slugify. It doesn’t require Symfony though, but works well with it.

util::slugify('This is a random --string with an Ãccent');
=> Returns 'this-is-a-random-string-with-an-accent'