7

我已经开始使用 symfony2 并且发现了 symfony 1.4 中存在的一些功能,例如 slugify。我需要这个来改善褶皱。

4

3 回答 3

10

如果你有 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)))
    );
}

否则,请查看学说扩展

于 2015-06-08T00:42:52.350 回答
5

使用 l3ppard 的sluggable 扩展 (GitHub存储库)...

...或 KnpLabs sluggable 行为(GitHub存储库)。

于 2013-06-23T04:05:04.000 回答
2

我使用util.php进行 slugify。虽然它不需要 Symfony,但可以很好地使用它。

util::slugify('This is a random --string with an Ãccent');
=> Returns 'this-is-a-random-string-with-an-accent'
于 2015-06-03T19:10:52.527 回答