![]() |
BBCode parsen
Morgen. Ich hab grad ein recht unschönes Problem damit, BBCodes zu parsen.
Angenommen ich habe folgenden Text:
Code:
[/code]asdf
[code]Blubb
Code:
[/code]
[code]Blubb
Daraus soll jetzt folgendes werden: <div class="box">
Code:
</div>
Blubb
Wenn ich jetzt aber einfach sowas hier mache:
Code:
Dann parst das Ding:
$text=preg_replace('#\['.$bbcode["code"].'(=([^\]]*))?\](.*)\[/'.
$bbcode["code"].'\]#ise', '$this->parsebbcode(\''.$bbcode["code"]. '\', \''.$bbcode["replacement"].'\', \'$3\', \'$2\')', $text); <div class="box">
Code:
[/code]asdf[code]
Blubb
Code:
</div>
Blubb
Wenn ich den Operator bei (.*) non-greedy mache, parst er so: <div class="box">
Code:
asdf<div class="box">
Blubb</div>
Code:
Wie kann ich das so hinkriegen, wie ich es will? Und wie verhindere ich, dass ein innerhalb eines geparst wird?
Blubb</div>
|
Re: BBCode parsen
Zitat:
|
Re: BBCode parsen
Und wie mach ich das in ner Regex?
|
Re: BBCode parsen
Auch wenns vieleicht nicht so richtig hier rein passt...
Vieleicht interessiert dich das hier: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:28 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