Cytat(Capellini @ 8.03.2009, 10:12:15 )

czyli najpierw '<' potem jakiś tekst inny niż 'b', 'i', 'u', 'strong', 'a', a na końcu '>'
nie wiem do czego Ci to potrzebne więc wyszukałem tylko te znaczniki które ma znajdować wyrażenie regularne, jeśli jakieś znaczniki co mają być zaczynają się tak samo jak znaczniki co ich ma nie być to w nawiasie (?=body) poprzez wstawienie znaku | i "słowa" dodajesz kolejne wyjątki które mają należeć do wyrażenia.... - dało sie prościej gdyby działały
symbole łączone w wyrażeniach - tzn teoretycznie są ale coś u mnie wywala błąd - widać nie obsługuje (więc trochu okrężna drogą ale też działa

...
ps. w nawiasie (?!b|a|u|strong|i|s) dodajesz te znaki których ma nie być - przy czym skoro strong nie jest na liście wyjątków to tam bez potrzeby został umieszczony ^^ - zawsze przy lub dopasowuje z lewej strony dlatego w pierwszej kolejnosci sprawdza czy jest wyjątek a potem czy nie ma wyjątków....
<?php
$text='Dla: "<div>" zwraca true
Dla: "<b>" zwraca false
Dla: "<body>" zwraca true
Dla: "<strong>" zwraca false';
preg_match_all('/<(?:(?=body)|(?!b|a|u|strong|i|s))([^>]+?)>/is', $text, $matches); ?>