Я пытаюсь разобрать BBcodes в php, но я не думаю, что мой код в безопасности.Как безопасно разбирать bbcodes?
$Text = preg_replace("(\[color=(.+?)\](.+?)\[\/color\])is","<span style=\"color: $1\">$2</span>",$Text);
Я думаю, вы можете пройти инъекцию, как это, и он будет работать:
[color=<script>alert('gotcha');</script>]...[/color]
Как улучшить мое регулярное выражение только захват двух STANDAR цветовых форматов:
[color=red]...[/color] OR [color=#FF0000]...[/color]
Спасибо
Для маскировки тегов html все, что вам нужно, заменяет все '' '' < ' – serg
BBCode не является обычным языком, и поэтому вы не можете использовать регулярное выражение для его синтаксического анализа. – Gumbo