bb код [code]

1. Валерий (22.10.2011 / 14:11)
Не могу составить регулярку. В роторе так
#\[cod\](.*?)\[/cod\]#ie
Но у меня это не прокатывает, т.к. в моём движке не убираются пробельные символы.. из за этого регулярка не срабатыват.

Делал так
#\[cod\]([\s\S]+)\[/cod\]#ie
Так всё работает, но если я напишу бб код 2 раза, то он обрабатывается как один большой
[cod]первый код[/cod] не код вообще [cod]второй код[/cod]
Выдаёт как один большой код, заключённый между первым открывающим тегом [cod] и последним закрывающим [/cod]

Пытался выбирать строку, не содержащую подстроку [/cod]
#\[cod\](!~\[/cod\])\[/cod\]#ie
Так вообще регулярка не срабатыват.

Кто как это делает вообще? Как регулярку мне составить чтоб всё работало?

2. ramzes (22.10.2011 / 14:18)
s модификатор, лечит от прожорливости регулярку

3. Валерий (22.10.2011 / 14:29)
не понял.

|\[code\]([\s\S]+)\[/code\]|es
тоже самое выдаёт, что и без s
т.е. обрабатывает 2 кода как один большой

4. Андрей (22.10.2011 / 14:30)
s это многострочный поиск. То что ты сказал делает U

5. Валерий (22.10.2011 / 14:33)
Фанат (22 Октября 2011 / 16:30)
s это многострочный поиск. То что ты сказал делает U

Спасибо, работает! klass

6. Андрей (22.10.2011 / 14:36)
Пожалуйстаsmile

URL: https://visavi.net/topics/25863