Bild Uri als Img-Tag parsen
Achim
- php
0 Tom0 LX0 Achim0 LX0 Achim0 Texter mit x0 Achim0 Texter mit x0 Texter mit x0 Achim
Hallo !
heute möchte ich ausnahmsweise mal nach einer fertigen Lösung fragen. Ich habe ein Script das Gästebucheinträge anzeigt.
Wenn jetzt irgendwo folgendes auftaucht:
Hallo
ich möchte Dir folgendes Bild zeigen:
http://www.sonstwas.de/images/bild.jpg
möchte ich dass die Bild-Uri als <img> (also als Bild) dargestellt wird. Hat mir jemand ein cooles Regex oder Script ? Ich kriege es leider nicht hin.
Gruss
Hello,
heute möchte ich ausnahmsweise mal nach einer fertigen Lösung fragen. Ich habe ein Script das Gästebucheinträge anzeigt.
Wenn jetzt irgendwo folgendes auftaucht:
Hallo
ich möchte Dir folgendes Bild zeigen:
http://www.sonstwas.de/images/bild.jpg
>
> möchte ich dass die Bild-Uri als <img> (also als Bild) dargestellt wird. Hat mir jemand ein cooles Regex oder Script ? Ich kriege es leider nicht hin.
Wirklich Cool wäre doch, dass nach einer nicht überprüften Einbindung eines Pornobildes die Kalfaktoren des Innenministers anschließedn die gesamte IP sperren lassen für Requests aus DE und damit dann Hunderte von unschuldigen Domains, die unter derselben IP gehostet werden, gesperrt werden.
Die Schadenersatzfolgen müsstest Du tragen!
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
![](http://selfhtml.bitworks.de/Virencheck.gif)
--
Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>
Wirklich Cool wäre doch, dass nach einer nicht überprüften Einbindung eines Pornobildes die Kalfaktoren des Innenministers anschließedn die gesamte IP sperren lassen für Requests aus DE und damit dann Hunderte von unschuldigen Domains, die unter derselben IP gehostet werden, gesperrt werden.
Die Schadenersatzfolgen müsstest Du tragen!
Wie kommst auf den schmalen Pfad? Haben solche Aussagen auch Einzug in die Broadcast-Medien genommen?
Hallo!
Versuche mal folgende Regexp:
'!(https?://[^\ ]+\.(jpg|jpeg|gif|png))!'
Gruß, LX
$text = eregi_replace('!(https?://[^\ ]+\.(jpg|jpeg|gif|png))!', '<img src="\\1" border="0">', $text);
Danke ! Habe es so probiert .. aber leider hat's nicht geklappt. Anbei mal ein Regex dass Links erfolgreich konvertiert ... kann man daraus etwas ableiten ?
$text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '<a href="\\1">\\1</a>', $text);
Ich hatte eigentlich an preg_replace gedacht; eregi_replace geht genauso, aber ohne die "!" am Anfang und Ende der Expression.
Gruß, LX
Hat super funktioniert ... cool ! Darf ich Dich nochmals nerven ... im gleichen Script parse ich ja auch normale Hyperlinks. Wie kann ich verhindern dass das geparste Bild nachher nochmals als Url geparst wird und so was entsteht ?
<img src="<a href="http://www.seite.de/bild.jpg">Bla</a>" border="0">
Theoretisch kann ich mehrere Bild- und Textlinks haben.
Aber herzlichen Dank schon Mal !
Wie kann ich verhindern dass das geparste Bild nachher nochmals als Url geparst wird und so was entsteht ?
[code lang=php]
<img src="<a href="http://www.seite.de/bild.jpg">Bla</a>" border="0">
Bezeichnung: negative look-behind assertion
Definition: (?<!Ausdruck)
Erklärung: Ausdruck darf nachfolgendem Ausdruck nicht vorausgehen
Quelle: Wikipedia-Artikel "Regulärer Ausdruck"
Ist das ausreichend nah dran an fertig?
»» Wie kann ich verhindern dass das geparste Bild nachher nochmals als Url geparst wird und so was entsteht ?
»»
»» [code lang=php]
»» <img src="<a href="http://www.seite.de/bild.jpg">Bla</a>" border="0">Bezeichnung: negative look-behind assertion
Definition: (?<!Ausdruck)
Erklärung: Ausdruck darf nachfolgendem Ausdruck nicht vorausgehenQuelle: Wikipedia-Artikel "Regulärer Ausdruck"
Ist das ausreichend nah dran an fertig?
Vielen Dank Texter .. eigentlich super. Aber auch nach längerem Probieren hab ich es zu meiner Schande nicht hinbekommen. Das Posten der Versuche spare ich mir der Peinlichkeit-halber.
Gehts noch n'bissl fertiger ? :) Herzlichen Dank und Gruss
Gehts noch n'bissl fertiger ? :) Herzlichen Dank und Gruss
Falls das oben deine Ausgangsbasis ist, versuche mal
'(?<!src=")(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)'
Getestet habe ich es aber nicht, nur drei mal Str+c und Str+v gedrückt.
Falls das nicht deine Ausgangsbasis ist, poste den Code der funktioniert aber der auch die Bilder-urls als Link behandelt, und ich bau es Dir ein.
getestet:
'((?<!src=")((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)'
oder auch
'(((?<!src=")(f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)'
Herzlichen Dank !!