Einzelnen Beitrag anzeigen

Kalfany

Registriert seit: 28. Feb 2008
Ort: München
153 Beiträge
 
Delphi 2007 Professional
 
#1

[PHP] BBCode regulärer ausdruck

  Alt 21. Aug 2008, 08:54
Morgen,

ich habe eine funktion zum umwandeln von BBCode zu HTML das funktioniert soweit auch. Nur möchte ich jetzt innerhalb eines bestimmten tags (immer [P][/P]) alle \r\n durch
erstezen, aber eben nur innerhalb dieses Tags und nicht in Tags innerhalb von [P][/P] (ich weiß das es nl2br gibt, aber das geht auf alles).

Code:
'/(?<!\\\\)\[p(?::\w+)?\](.*?)\[\/p(?::\w+)?\]/si' => "

\\1</p>"
'/(?<!\\\\)\[b(?::\w+)?\](.*?)\[\/b(?::\w+)?\]/si' => "[b]\\1[/b]"
Nur möchte ich diese erstezung nicht verschachtelt machen also bei diesem beispiel
Code:
[P]Text\r\ntext [B]bold\r\nText[/B] mehr\r\nText[/P]
soll das \r\n nur innerhalb [P][/P] aber nicht innerhalb ['B]['/B] ersetzt werden, richt wäre also:
Code:

Text
text [b]bold\r\nText[/b] mehr
Text</p>
(Was auch gehen würde, erst ein nl2br und dann die "falschen"
wieder raus löschen)
  Mit Zitat antworten Zitat