Hallo,
ich habe mich zwangsläufig einige Stunden recht erfolglos mit preg_match_all und den vielen Regex rumgeschlagen. Bin aber nicht so wie gewünscht zu einem Ergebnis gekommen. Dabei gibts ja duchauch schöne Seiten als Hilfe. Z.B. https://www.phpliveregex.com
Brachte mir alles nichts.
Ich habe einen Text und aus diesem sollen die BBCode ähnlichen Werte ermittelt werden.
Im Web hab ich was ähnliches gefunden und für meine Zwecke umgebogen.
Das klappt soweit gut, aber wenn der BBCode mehrfach in dem Text vorkommt, arbeitet die Regex nicht mehr wie man es will. Nur hab ich keine Idee, wie man das nun umschreibt. Hab da jemand mit Erfahrung eine Hilfestellung für mich?
So sieht das Ergebnis aus, wenn der Code nur einmal vorkommt (so ist OK):
Wenn er zweimal oder mehr vorkommt, so (murks):
Ich freu mich über eine Hilfe. Danke.
Gruß,
Falcon
ich habe mich zwangsläufig einige Stunden recht erfolglos mit preg_match_all und den vielen Regex rumgeschlagen. Bin aber nicht so wie gewünscht zu einem Ergebnis gekommen. Dabei gibts ja duchauch schöne Seiten als Hilfe. Z.B. https://www.phpliveregex.com
Brachte mir alles nichts.
Ich habe einen Text und aus diesem sollen die BBCode ähnlichen Werte ermittelt werden.
PHP-Code:
$text = "Das ist ein testtext, mit einem [fn=Mein Text1]10[/fn]. Und der Text geht weiter. Hier kommt die nächste [fn=Mein Text2]20[/fn].";
PHP-Code:
preg_match_all("/\[fn=(.+)\](.+)\[\/fn\]/", $text, $ausgabe);
So sieht das Ergebnis aus, wenn der Code nur einmal vorkommt (so ist OK):
Code:
Array ( [0] => Array ( [0] => [fn=Mein Text1]10[/fn] ) [1] => Array ( [0] => Mein Text1 ) [2] => Array ( [0] => 10 ) )
Code:
Array ( [0] => Array ( [0] => [fn=Mein Text1]10[/fn]. Und der Text geht weiter. Hier kommt die nächste [fn=Mein Text2]20[/fn] ) [1] => Array ( [0] => Mein Text1]10[/fn]. Und der Text geht weiter. Hier kommt die nächste [fn=Mein Text2 ) [2] => Array ( [0] => 20 ) )
Gruß,
Falcon
Kommentar