Autor |
Nachricht |
Snifferdog
Threadersteller
Dabei seit: 08.03.2007
Ort: Düsseldorf
Alter: 35
Geschlecht:
|
Verfasst Mo 19.10.2009 21:14
Titel Per RegEx auslesen und ersetzen |
|
|
Hey,
ich bin leider in Regulären Ausdrücken noch nicht so wirklich fit, habe ein kleines Problem diesbezüglich und bräuchte mal einen Denkanstoß
Es geht um folgendes:
Ich habe einen Text in dem eine Art "BBCode" verwendet werden soll.
Der problematische Code wäre jetzt [imglink=Bild01]LINKTEXT[/imglink].
Das soll natürlich in HTML umgewandelt werden später. Soweit so gut. Funktioniert auch alles.
Das eigentliche Problem liegt jetzt daran "Bild01" auszulesen, mit dieser BildID die richtige URL aus einer DB abzurufen und dann in die HTML Ausgabe an der richtigen Stelle wieder einzufügen.
Beispiel:
Code: |
Code:
[imglink=Bild01]LINKTEXT[/imglink]
Bild01 ergibt aus DB: images/Blume.jpg
Ausgabe:
<a href='images/Blume.jpg'>Linktext</a>
|
Das ganze sollte natürlich auch funktioniern wenn der Code mehrfach verwendet wird im Text. Verschachtelungen müssen nicht berücksichtigt werden.
Danke schon mal.
Gruß
|
|
|
|
|
DEKONSTRUKTIV
Dabei seit: 22.06.2009
Ort: bln
Alter: -
Geschlecht: -
|
Verfasst Mo 19.10.2009 22:30
Titel
|
|
|
ich nehme an, dir steht php zur verfügung. mach dich mit der funktion preg_match_all() vertraut. strick dir ne passende regexp zusammen und iterier über die ergebnismenge.
|
|
|
|
|
Anzeige
|
|
|
Snifferdog
Threadersteller
Dabei seit: 08.03.2007
Ort: Düsseldorf
Alter: 35
Geschlecht:
|
Verfasst Di 20.10.2009 08:42
Titel
|
|
|
Hey,
das Auslesen funktioniert ja schon. Mir fehlte nur der Schritt das wieder an der gleichen Stelle einzusetzen, aber da stand ich wohl etwas auf dem Schlauch, weil das lässt sich ja mit einfachem replace lösen.
Danke
Gruß
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
|
|
|
|
DEKONSTRUKTIV
Dabei seit: 22.06.2009
Ort: bln
Alter: -
Geschlecht: -
|
Verfasst Di 20.10.2009 09:40
Titel
|
|
|
Snifferdog hat geschrieben: | Hey,
das Auslesen funktioniert ja schon. Mir fehlte nur der Schritt das wieder an der gleichen Stelle einzusetzen, aber da stand ich wohl etwas auf dem Schlauch, weil das lässt sich ja mit einfachem replace lösen.
Danke
Gruß |
du hast die ergebnismenge vom preg match und kannst dann zusammen mit dem resultat der datenbank die entsprechenden str_replace() zusammenlöten.
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 20.10.2009 09:48
Titel
|
|
|
Ich würd' da nicht via regex drangehen, sondern mir direkt einen tokenizer
Du stößt nämlich schnell an die Grenzen, wenn du Rekursionen behandeln möchtest, wie z.B. [url="xyz"][img]...[/img][/url]
|
|
|
|
|
|
|
|
Ähnliche Themen |
[Dreamweaver, Regex] Suchen & ersetzen
[REGEX/REWRITE] + und &
JS | replace - regex - br
Regex für Mailheader
[REGEX] Problem bei Usernamen
Grep/RegEx frage
|
|