Ehm... JHammer, le POSIX sono più lente delle Perl-Compatibili, a parte che sono un pò + casinare 
Se ti dev itrovare il testo fra dei tag:
codice:
<?
$starttag = "";
$endtag = "";
preg_match_all("|($starttag)(.+)($endtag)|iu", $miotesto, $array);
print_r($array);
?>
Dove $array sarà il risultato. Se devi sostituire del codice:
codice:
<?
$starttag = "";
$endtag = "";
$starttag2 = "[ B]";
$endtag2 = "[ /B]";
preg_replace("|($starttag)(.+)($endtag)|iu", $starttag2."\\1".$edntag2, $miotesto);
print $miotesto;
?>
$miotesto sarà parsato. Se vuoi, la funz ritorna il numero di sostituzioni avvenute.
Spero di averti aiutato. PaTeR
PS: Ad okkio e croce dovrebbero funzionarti, non le ho testate...