Формирование URL алиаса

Print RSS
120

Author
Дух
0
Хочется найти красивое решение, а не писать велосипед
Допустим есть название например "Подставка: 12% 3 mm",
Нужно формировать url для ЧПУ т.е из него - /podstavka-12-3mm
1. все в нижнем регистре
2. пробелы заменяются на "-"
3. знаки ;%*?( и т.д вырезаются
4. цифры остаются
5. чтобы не оставалось "--" (когда вырезался символ между пробелами, а вокруг пробелы стали черточками), и в начале и конце не было "-"
6. кириллица - транслитом
П

Пацак
0
Например, preg_replace('/[^a-z0-9-]/', '', str_replace(array('русские буквы', ' ', '--', '--'), array('английские буквы', '-', '-', '-'), strtolower(trim($str))));
Changed: Петр (15.10.2012 / 12:11)
Author
Дух
0
Набросал что то, может пригодится кому
Attached files:
translit.rar (1.04Kb)
П

Пацак
0
3. Рашид, ничего себе, целый класс для такой задачи. Причем 3 пробела не обрабатываются.
Author
Дух
0
просто в будущем может понадобиться еще по каким то правилам преобразовывать текст, хелпер это.
Как сделать чтобы любое количество ------ заменяло на -? Не дружу с регулярками)

Оранжевые штаны
0
1. Рашид, зачем придумывать еще один велосипед когда есть уже? В интернете куча реализации, советую брать те что сделанные по стандарту.
Author
Дух
0
6, например?
П

Пацак
0
5. Рашид, я ж написал - str_replace(array('--','--'), array('-', '-'), $str); регуляркой - preg_replace('/-++/', '-', $str);
Changed: Петр (15.10.2012 / 12:26)
Author
Дух
0
8, спасибо, регуляркой сделал, все ок
Stickers / Tags / Rules / Top topics / Top Posts / Search