【发布时间】:2013-06-19 21:14:45
【问题描述】:
我已经开始使用 symfony2 并且发现了一些 symfony 1.4 中存在的功能,例如 slugify。我需要这个来改善褶皱。
【问题讨论】:
我已经开始使用 symfony2 并且发现了一些 symfony 1.4 中存在的功能,例如 slugify。我需要这个来改善褶皱。
【问题讨论】:
使用 l3ppard 的 sluggable extension ( GitHub repository) ...
... 或 KnpLabs sluggable behavior ( GitHub repository )。
【讨论】:
我使用 util.php 进行 slugify。虽然它不需要 Symfony,但可以很好地使用它。
util::slugify('This is a random --string with an Ãccent');
=> Returns 'this-is-a-random-string-with-an-accent'
【讨论】:
如果你有 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)))
);
}
【讨论】: