Seite 1 von 1

Stringteile auslesen, abfragen und ersetzen

Verfasst: 24.04.2008 11:15
von Nili76
Hallo zusammen,

bin gerade dabei mri eine Modifikation zu bauen, wo ich mir meine Topics per Mail zuschicken lasse. Bisher kontne ich meinen Topic Text auch sehr gut in eine html Mail verwandeln.

Nur fehlt mir ein Denkanstoß, wenn es um integrierte Bilder (embedded image) geht. Nun kann ja mehrmals im Topic so eine Zeile drin stehen wie

Code: Alles auswählen

[img:0badb1112e]http://www.meinforum.de/pix/test.jpg[/img:0badb1112e]
Mein Ansatz sieht so aus, dass ich zuerst nach

Code: Alles auswählen

[img: * ]
suche und den link danach bis

Code: Alles auswählen

[/img: * ]
in eine Variable reinschreibe, mit der ich dann überprüfe, ob sich dieses Bild auf meinem Server befindet, oder nicht. Wenn nicht, wird aus diesem Beispiel eben nur

Code: Alles auswählen

<img src="http://www.meinforum.de/pix/test.jpg">
mit preg_replace habe ich gerade erst angefangen, aber ich wollte vorerst nachfragen, ob ich da nicht besser was anderes nehmen kann, als die Vorgehensweise, dass ich alles vor

Code: Alles auswählen

[img: * ]
und nach

Code: Alles auswählen

[/img: * ]
aus meinem String entferne, und dann später mit einem erneutem preg_replace den Suchstring ersetze.

Ich hoffe, ich habe mich nicht zu kompliziert ausgedrückt.

Gruß
Nils

Verfasst: 24.04.2008 12:10
von S2B
Schau dir mal diesen Artikel an: KB:bbcode_uid

Verfasst: 24.04.2008 12:26
von Nili76
Ja... Danke.... Den Sinn habe ich verstanden, aber mir geht es eigentlich um etwas anderes, als bbcode Erklärungen. Sie sind in diesem Fall störend uns sehen in der Mail nicht schön aus.

Dachte nur, es gäbe einen Befehl oder so, der nach zwei suchtexten sucht

( img und /img )

und den Text dazwischen als neue Variable speichert.

Verfasst: 24.04.2008 13:01
von gn#36
Naja wie du schon sagst [php:preg_replace] zum Beispiel, oder [php:preg_match_all]
Möglich z.b:
Suchmuster: #\[img:[a-f0-9]+\](.*?)\[/img:[a-f0-9]+\]#is

dann mit preg_match_all eben das Ergebnisarray erzeugen und davon das zweite Element durchlaufen welches die Links enthalten sollte.