![]() |
[PHP] BBCode regulärer ausdruck
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:
Nur möchte ich diese erstezung nicht verschachtelt machen also bei diesem beispiel
'/(?<!\\\\)\[p(?::\w+)?\](.*?)\[\/p(?::\w+)?\]/si' => "
\\1</p>" '/(?<!\\\\)\[b(?::\w+)?\](.*?)\[\/b(?::\w+)?\]/si' => "[b]\\1[/b]"
Code:
soll das \r\n nur innerhalb [P][/P] aber nicht innerhalb ['B]['/B] ersetzt werden, richt wäre also:
[P]Text\r\ntext [B]bold\r\nText[/B] mehr\r\nText[/P]
Code:
(Was auch gehen würde, erst ein nl2br und dann die "falschen" Text text [b]bold\r\nText[/b] mehr Text</p> wieder raus löschen) |
Re: [PHP] BBCode regulärer ausdruck
Tja, da du eigentlich keine Frage gestellt hast. Und deine Problembeschreibung schon die Lösung enthält, frage ich mich: was willst du von uns?
|
Re: [PHP] BBCode regulärer ausdruck
wo wären denn die lösung? :D
mein problem ist einfach das ich die verschachtelung mit ausschluss nicht hinbekomme, bzw. weiß ich nicht wie man etwas rauslöscht (bei den BBCode sachen wird ja nur was ersetzt) zumal sich bei dem weg mit erst nl2br, noch ein anderes problem entsteht denn dann können die auch ausserhalb von [P][/P] sein
Code:
müsste zu diesem werden
[H1]Überschrift[/H1]
[P]Test text [B]fett text[/B] text[/P]
Code:
[H1]Überschrift[/H1][P]Test
text [B]fett text[/B] text[/P] |
Re: [PHP] BBCode regulärer ausdruck
dann eben nicht...
|
Re: [PHP] BBCode regulärer ausdruck
Zitat:
ich habe mich momentan das ganze per CSS "behoben" aber eine lösung auf dauer ist das nicht |
Re: [PHP] BBCode regulärer ausdruck
Hi,
wenn ich dich richtig verstehe, baue dir doch einfach eine funktion, wo du den nächsten BB-Tag raussuchst, und dann den Text zwischen diesem Tag und dem nächsten je nachdem auswertest. Du weisst dann ja auch immer, was dein aktueller BB-Tag ist. Dürfte dann nicht so schwer werden. Gruß Ansgar |
Re: [PHP] BBCode regulärer ausdruck
Moin,
in solchen Fällen schaue ich immer gerne bei PEAR vorbei: ![]() Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz