Achim: Bild Uri als Img-Tag parsen

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

  1. 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>
    
    1. 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?

  2. Hallo!

    Versuche mal folgende Regexp:

    '!(https?://[^\ ]+\.(jpg|jpeg|gif|png))!'

    Gruß, LX

    --
    RFC 1925, Satz 6: Es ist einfacher, ein Problem zu verschieben (...), als es zu lösen.
    1.   
      	  $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);  
      
      
      1. Ich hatte eigentlich an preg_replace gedacht; eregi_replace geht genauso, aber ohne die "!" am Anfang und Ende der Expression.

        Gruß, LX

        --
        RFC 1925, Satz 6: Es ist einfacher, ein Problem zu verschieben (...), als es zu lösen.
        1. 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 !

          1. 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?

            1. »» 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?

              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

              1. 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.

                1. getestet:
                  '((?<!src=")((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)'
                  oder auch
                  '(((?<!src=")(f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)'

                  1. Herzlichen Dank !!