Bilder Codes ausfindig machen

oconner

oconner

Aktives Mitglied
Thread Starter
Dabei seit
11.01.2006
Beiträge
281
Reaktionspunkte
0
Hallo.

Ich möchte mittels php ein Bild verkleinern, wie das geht weis ich. Nur ist die Bildadresse in einem Text der aus der Datenbank kommt und dieser steht zwischen [ img] [ /img]. Na und jetzt möchte ich mittels einer string Funktion das zwischen dem [ img] [ /img] ausfindig machen.

Nur weis ich in diesem Fall nicht mit welcher string Funktion das geht.

Daher meine Frage ob mir jemand sagen kann wie ich den Inhalt zwischen [ img] und [ /img] ausfindig machen kann.

Danke schonmal! :)
 
Sowas ähnliches hab ich mal mit preg_match gemacht:

PHP:
preg_match("=\[img\].*?\[/img\]=siU", $str, $matches);

Hoffe, das stimmt so. Wobei $str der Text ist, aus dem die -Tags kommen und $matches das Array mit den gefundenen Stellen. siU sagte irgendwas von wegen case insensitive, mehrere Fundstellen finden und nochwas.

Is schon lang her :)
 
Zuletzt bearbeitet:
Also wenn die Tags immer gleich sind, dann würde ich es mit substr machen. preg_match klappt sicherlich auch, scheint mir aber etwas überdimensioniert.
Also in der Art:
PHP:
$text = "[url]Hier steht die Adresse[/url]";
$newText = substr($text,5,strlen($text) - 11);

Erik

P.S.: Hab gerade nochmal den ersten Post gelesen und hatte es wohl falsch verstanden. Wenn die Addresse irgendwo in einem beliebigen Text steht, dann ist preg_match natürlich die richtige Wahl.
Sorry
 
Hallo

@Jakob Hab deines ausporbiert. Aber es kommt immer folgende Fehlermeldung

Warning: preg_match() [function.preg-match]: Unknown modifier '\' in '...' on line 15

kenn mich mit preg_match nicht so gut aus und weis daher nicht wie ich den Fehler behebe.

//edit: line 15 ist natürlich die in der wo preg_match ist.
 
War ein „=“ zu viel. Hab's noch bisschen vereinfacht:

PHP:
preg_match('=\[img\](.*?)\[/img\]=si', $str, $match);
echo $match[1]

Findet allerdings jetzt immer nur das erste Vorkommen von einem
-Paar. Für mehr musst Du mal die PHP-Hilfe (php.net/preg_match bzw. php.net/preg_match_all bemühen)
 
hab sowas mal mit replace gebraucht, hier der Code, vielleicht hilft er dir:
PHP:
$deintext = preg_replace("/\[fett\](.*?)\[\/fett\]/", "<strong>\\1</strong>", $deintext);
Der Ausdruck ersetzt alle Vorkommen von [fett]textteil[/fett] mit <strong>textteil</strong> im String $deintext; kann man natürlich auch mit "img" statt "fett" verwenden.
 
Zurück
Oben Unten