Как составить регулярное выражение для сложного bb-кода?
Первые три результата в Гугле по запросу "php bbcode parse"с объяснениембез объяснениядля комплекта
1) Очевидное решение: заменить [] на <> и отбросить [br]
2) Что значит "исключить взлом через него"? Поставьте задачу конкретнее.
Пример с регуляркой на Python:>>> import re
>>> text = '[br][img src="images/20150429064557608.jpg" width="1500" class="class_name" alt="pic_title"][br]'
>>> items = re.findall(r'(?:\b(src|width|class|alt)="([^"]*)")+', text)
>>> items
[('src', 'images/20150429064557608.jpg'), ('width', '1500'), ('class', 'class_name'), ('alt', 'pic_title')]
>>> line = '<img %s>' % ' '.join('%s="%s"' % (param, value) for param, value in items)
>>> line
'<img src="images/20150429064557608.jpg" width="1500" class="class_name" alt="pic_title">'