absolute url aus html code rauslesen

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

  • absolute url aus html code rauslesen

    hallo, ich bekomme aus einer datenbank folgenden html code
    <IMG src="http://cms.past-research.com/image_upload_dir/5pro.jpg" align="baseline" border="0">

    zum weiterverarbeiten brauch ich nur die url also:

    http://cms.past-research.com/image_upload_dir/5pro.jpg

    wie krieg ich die am besten raus? vor allem weil die img properties wie border, align, vspace. etc immer unterschiedlich sind?

    für einen rat wäre ich dankbar

  • #2
    n preg_match() für scr="XXX" solltest du mit hilfe des Tutorials von dieser Seite locker schaffen.

    Kommentar


    • #3
      das tutorial habe ich schon gefunden aber ich so denk mir so ... vielleicht hatt ja eina schon sowat ma gemacht? und hat just, das problem lösenden script ... nun gut dann halt auf ins tutorial sighh, ... ob ich das pack?

      Kommentar


      • #4
        ich habs (so ähnlich), aber wo bleibt der lern-effekt. Für den Einstieg ist dein Problem echt ideal geeignet. Vorallem, weil du dann in Zukunft die Regex auch mal nebenbei schreibst.

        Kommentar


        • #5
          PHP-Code:
                                 $test $row['bild'];
                                 
          preg_match('/^src="(.*)"$/',$test,$res); 

          irgendwie verstehe ich eines gar nicht? $res soll ja als array den string und den gesuchten stringebereich zurückgeben. da der aber in meinem beispiel iregndwo im string liegt die frage wo und wie setze ich anfang und ende des musters fest? so wie ich es jetzt habe kommt nix raus?

          Kommentar


          • #6
            Original geschrieben von frank7l7
            da der aber in meinem beispiel iregndwo im string liegt die frage wo und wie setze ich anfang und ende des musters fest? so wie ich es jetzt habe kommt nix raus?
            so wie du es jetzt hast, kann ja auch nix rauskommen - ^ bedeutet "anfang des strings", und $ bedeutet am ende.

            dein muster trifft also nur auf einen string zu, in dem src direkt am anfang steht, und src="..." überhaupt der einzige stringinhalt ist.


            versuch als suchmuster mal eher sowas wie
            PHP-Code:
            /(.*) src="(.*)"(.*)/ 
            also erst beliebig viele zeichen (.*), dann dein scr="...", und dann noch mal "beliebiger, uninteressanter kram".
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              ok, jetzt habe ich auch die werte im array verstanden

              warum aber immer noch :

              https://sslsites.de/cms.past-researc...d_dir/5pro.jpg" align="baseline

              also align="baseline" übrigbleibt das wundert mich bei:

              preg_match('/(.*) src="(.*)" (.*)/',$row['bild'],$res);

              Kommentar


              • #8
                wer lesen kann...
                Standardmäßig versuchen die Quantifier, auf einen so großen Text wie möglich zu passen. Dies kann zu Problemen führen: Angenommen es liegt eine Zeichenkette $str = "texttexttext" vor, und wir möchten daraus "<b>text</b>text<b>text</b>" machen. Versuchen wir es folgendermaßen:

                $str = preg_replace("!\[b\](.*)\[/b\]!","<b>text</b>",$str);

                so erhalten wir als Ergebnis "<b>text[/b]text[b]text</b>" - nicht ganz das, was wir wollten. Um dieses Verhalten abzustellen, setzen wir hinter den Quantifier ein Fragezeichen "?":

                $str = preg_replace("!\[b\](.*?)\[/b\]!","<b>text</b>",$str);

                und das gewünschte Ergebnis ist erreicht! Jeder der oben beschriebenen Quantifier kann durch ein angehängtes "?" zu diesem Verhalten bewegt werden, so z.B. {1,4}? oder +?.

                Kommentar


                • #9
                  danke, ist mir irgendwie beim lesen des tuts durchgegegangen

                  Kommentar

                  Lädt...
                  X