Формирование URL алиаса
1.
Удаленный (15.10.2012 / 11:09)
Хочется найти красивое решение, а не писать велосипед
Допустим есть название например "Подставка: 12% 3 mm",
Нужно формировать url для ЧПУ т.е из него - /podstavka-12-3mm
1. все в нижнем регистре
2. пробелы заменяются на "-"
3. знаки ;%*?( и т.д вырезаются
4. цифры остаются
5. чтобы не оставалось "--" (когда вырезался символ между пробелами, а вокруг пробелы стали черточками), и в начале и конце не было "-"
6. кириллица - транслитом
2.
Петр (15.10.2012 / 12:04)
Например, preg_replace('/[^a-z0-9-]/', '', str_replace(array('русские буквы', ' ', '--', '--'), array('английские буквы', '-', '-', '-'), strtolower(trim($str))));
3.
Удаленный (15.10.2012 / 12:05)
Набросал что то, может пригодится кому
4.
Петр (15.10.2012 / 12:10)
3.
Рашид, ничего себе, целый класс для такой задачи. Причем 3 пробела не обрабатываются.
5.
Удаленный (15.10.2012 / 12:14)
просто в будущем может понадобиться еще по каким то правилам преобразовывать текст, хелпер это.
Как сделать чтобы любое количество ------ заменяло на -? Не дружу с регулярками)
6.
Антон (15.10.2012 / 12:15)
1.
Рашид, зачем придумывать еще один велосипед когда есть уже? В интернете куча реализации, советую брать те что сделанные по стандарту.
7.
Удаленный (15.10.2012 / 12:16)
6, например?
8.
Петр (15.10.2012 / 12:18)
5.
Рашид, я ж написал - str_replace(array('--','--'), array('-', '-'), $str); регуляркой - preg_replace('/-++/', '-', $str);
9.
Удаленный (15.10.2012 / 12:27)
8, спасибо, регуляркой сделал, все ок
URL:
https://visavi.net/topics/34869