reguläre Ausdrücke Problem

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

  • reguläre Ausdrücke Problem

    Hi!

    Ich suche in einem Link nach '/src="/' und möchte es ersetzen durch 'src="/static/fotos/'; um die richtigen Bilder zu laden. Leider findet er nur '/src=/' ohne die Hochkommas, warum?

  • #2
    PHP-Code:
    $link '<img src="/bla_blubb.gif" width="210" height="20" />' ;
    $replace str_replace ('src="/','src="/static/fotos/'$link);
    echo 
    $replace
    wo ist das problem?

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Das Problem ist, das er es nicht findet:

      <img border="0" src="216518T5JWL._AA_SL110_.jpg"></a>

      er findet es nur ohne die Hochkommas.

      $suchmuster = '/src=/';
      $ersetzen = 'src="/static/fotos/';
      $insert = preg_replace($suchmuster, $ersetzen, $insert_values);

      dann ist meine Ausgabe: src="/static/fotos/"bild1.jpg"

      Kommentar


      • #4
        Dein Suchwort ist fix, kein regulärer Ausdruck. Also verwende str_replace() statt preg_replace(). Das ist nicht nur schneller sondern auch viel leichter zu handhaben.

        Kommentar


        • #5
          auch mit str_replace, besteht das Problem, dass er 'src="' nicht findet.
          $insert_values = str_replace('src="', 'src="/static/amazon/', $insert_values);

          Kommentar


          • #6
            Kann nicht sein. Zeig mal bitte deinen kompletten Code dazu.

            Kommentar


            • #7
              Alles klar funktioniert!

              Backslash fehlte!

              'src=\"'


              Ist es eigentlich möglich, die Änderung nur an dem ersten "src" Vorkommen durchzuführen und die andere werden ignoriert?

              Danke !

              Kommentar


              • #8
                Wenn da ein Backslash hin muß, dann weil er auch in der Eingabe enthalten ist. Dein HTML sieht demnach so aus
                <img src=\"/foo.jpg" ... >

                Wenn du nur das erste Vorkommen ersetzen willst, benutze strpos() und substr().

                Kommentar

                Lädt...
                X