symfony2를 사용하기 시작했으며 symfony 1.4에 slugify와 같은 몇 가지 기능이 있습니다. 나는 furl을 개선하기 위해 이것을 필요로한다. 당신이 어떤 제안을symfony2에서 slugify를 만들려면 어떻게해야합니까?
답변
사용이있는 경우
은 알려주세요 중 하나 l3ppard의 sluggable extension (GitHub의 repository) ...
... 또는 KnpLabs sluggable behavior (GitHub의 repository).
나는 슬러지를 위해 util.php을 사용했다. Symfony는 필요하지 않지만 잘 작동합니다.
util::slugify('This is a random --string with an Ãccent');
=> Returns 'this-is-a-random-string-with-an-accent'
당신이 PHP-국제 공항이있는 경우 : 그렇지 않으면
/**
* 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)))
);
}
를 가장 인기 slugify 패키지의 the doctrine extensions
이 답변은 매우 간단하며 Transliterator가 활성화되어있는 한 큰 효과가있는 것으로 보입니다. 고맙습니다. – mr1031011
ascii로 비 ASCII 입력 (예 : 악센트 또는 ae 등으로 변환해야하는 æ)을 변환하는 것이 유니 코드로 표준 방식으로 오랫동안 해결되는 문제임을 알고 있습니다. –
Doctrine 확장은 [Behat Transliterator] (https://github.com/Behat/Transliterator) –
하나의 모습이 현재 packagist에 cocur/slugify
~ 5.5M 다운로드입니다.
잘 테스트되었고 매우 양호하게 유지되었습니다.
덕분에 많은 nifr. 나는 그들을 시도 할 것이다. 나는 또한 [stof] (https://github.com/stof/StofDoctrineExtensionsBundle/blob/master/Resources/doc/index.rst)를 보았다. 마녀는 최선의 선택이라고 생각하십니까 – gastonnina
StofDoctrineExtensions는 symfony2에서 쉽게 통합 (서비스 등록, 리스너 설정)을 제공하지만 확장 자체는 제공하지 않습니다. – nifr
게임에 늦지 만 고유하지 않은 슬러그는 대부분의 유스 케이스에서 쓸모가 없습니다. – RichieHH