Wert von src im IMG Tag herrausfinden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wert von src im IMG Tag herrausfinden

    Hi Zusammen,

    ich hoffe ihr könnt mir helfen, denn ich habe folgendes Problem.
    In einem String ist ein Text mit HTML Tags, unteranderem mit dem IMG Tag.
    Nun habe ich versucht mit hilfe der REGEX den Inhalt des src-Parameters auszulesen, also den Dateinamen und/oder mit Ordner und Pfadangaben.

    Bsp:
    <body>
    <font>Dies ist irgend <IMG src="bilder/bild.jpg">ein Text in dem ein Bild ist<br>, und hier ist übrigens noch ein <IMG src="bilder/bild2.jpg">Bild</font>

    PHP-Code:
    //ich bräuchte also ein array das folgenden Inhalt hat:
    $ary[0] = bilder/bild.jpg;
    $ary[1] = bilder/bild2.jpg;

    //leider funktioniert es aber nicht mit folgendem Befehl:
    eregi("src\"(.*)\""$text,$ary); 
    Hoffentlich habt ihr eine Ide mit der ich das schaffe,
    danke im vorraus,

    euer MrMorpheus :-)

  • #2
    1. benutze preg_match_all statt eregi.
    10. zwischen src und dem anführungszeichen ist ein gleichheitszeichen untergegangen.

    Kommentar


    • #3
      Original geschrieben von penizillin
      1. benutze preg_match_all statt eregi.
      10. zwischen src und dem anführungszeichen ist ein gleichheitszeichen untergegangen.
      Danke erst einmal für den Tipp.
      Leider erhalte ich aber bei folgendem Code:
      PHP-Code:
      $text ='kjsdf sf sdf sd IMG src="111111" kljsdksad src="22222" sdfsdfsdjf';

      preg_match_all("src=\"(.*)\"",$text,$regs,PREG_PATTERN_ORDER);

      for(
      $i=0;$i<count($regs);$i++)
      {
          echo 
      $regs[$i]."<br>";

      folgenden Fehler:
      Warning: preg_match_all() [function.preg-match-all]: Delimiter must not be alphanumeric or backslash

      Kommentar


      • #4
        versuchs mit einem delimiter:
        Code:
        "/src=\"(.*)\"/i"
        echo hilft nicht, weil hier arrays vorliegen.
        schau dir einfach print_r($regs) an.

        Kommentar


        • #5
          Code:
          '/src="(.*)"/i'
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            Danke für euere Hilfe,
            ich habe es jetzt mit folgendem Code ausprobiert.
            PHP-Code:
            <?
            $text ='kjsdf sf sdf sd IMG src="111111" kljsdksad src="22222" sdfsdfsdjf';
            preg_match_all('/src="(.*)"/i',$text,$regs,PREG_PATTERN_ORDER);

            echo $regs[0][0]."<br>";
            echo $regs[0][1]."<br>";
            echo $regs[1][0]."<br>";
            echo $regs[1][1]."<br>";
            ?>
            und das war das Ergebnis:
            src="111111" kljsdksad src="22222"
            (leer)
            111111" kljsdksad src="22222
            (leer)
            Aber leider ist da nicht 11111 oder 22222 enthalten.
            mache ich noch irgendwas anderes falsch?

            Kommentar


            • #7
              hm... kenne mich mit regexp schlecht aus...
              Code:
              '/src="([^"]+)"/i'
              ?

              Kommentar


              • #8
                Original geschrieben von penizillin
                hm... kenne mich mit regexp schlecht aus...
                Code:
                '/src="([^"]+)"/i'
                ?
                yahhh Danke vielmals @penizillin und derHund, jetzt gehts endlich!!

                Kommentar


                • #9
                  dann mach doch bitte noch eine kleine hausaufgabe und erkläre, was diese ganzen zeichen bedeuten.

                  Kommentar


                  • #10
                    Original geschrieben von penizillin
                    dann mach doch bitte noch eine kleine hausaufgabe und erkläre, was diese ganzen zeichen bedeuten.
                    klar->http://www.php-resource.de/tutorials/read/10/1/


                    normaler weise beise ich mich selbst durch solche Probleme, aber heute hatte /habe ich es etwas eilig

                    Kommentar


                    • #11
                      normaler weise beise ich mich selbst durch solche Probleme, aber heute hatte /habe ich es etwas eilig
                      OffTopic:
                      alles klar - ich werde es mir merken.
                      Die Zeit hat ihre Kinder längst gefressen

                      Kommentar

                      Lädt...
                      X