if (preg_match_all('/\[code\](.*?)\[\/code\]/is', $answer, $blocks, PREG_SET_ORDER)) {
foreach ($blocks as $block) {
if (preg_match('/\[[a-z]+[^\]]*\]/i', $block[1], $badTag)) {
exit('В тегі[code] заборонено розміщувати інші теги ('.$badTag[0].')');
}
}
}
foreach ($blocks as $block) {
if (preg_match('/\[[a-z]+[^\]]*\]/i', $block[1], $badTag)) {
exit('В тегі[code] заборонено розміщувати інші теги ('.$badTag[0].')');
}
}
}
✔ Переваги
- Не залежить від списку тегів. Автоматично блокує будь-який BB-тег, тепер і в майбутньому
- Простий і читабельний regex
- Працює з будь-яким регістром (i)
- Коректно обробляє багаторядковий код (s)
- Дає корисне повідомлення користувачу (показує конкретний тег)