Moin!
/([i])([^([|])]*)([/i])/
Der matcht aber nicht z.B. [i]tralllala [u]hoppsassa[/u][/i]. Ich gehe mal davon aus, daß Du mehr als nur [i] supporten wirst.
Schau Dich mal um über die Forensuche. Letztens gab es schon mal eine Diskussion dazu. Vielleicht 'ne Woche her. Mit regulären Ausdrücken kommst Du nicht allzu weit, wenn Du Verschachtelungen beachten willst. Da müßtest Du schon richtig parsen (ein Beispiel hatte ich gepostet)
Andererseits: Wozu!? Vielleicht reicht es Dir ja einfach zu ersetzen?
s/[(/?)(u|i|b)]/<$1$2>/g (das ist jetzt Perl Syntax. PHP Syntax kenne ich nicht.)
-- Skeeve