preg_replace() url verändern

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

  • preg_replace() url verändern

    hallo,
    ich teste jetzt schon über einen tag mit den regulären ausdrücken rum aber bekomms net gebacken. deswegen frag ich hier jetzt einfach:
    ich habe mehrere bilder, deren html code z.b. so aussieht:
    PHP-Code:
    <img src="includes/tiny_mce/plugins/imagemanager/images/meister.jpg" border="0" alt=" " width="187" height="265" /> 
    nun soll vor der url zum bild noch cms gesetzt werden.
    also es soll so aussehen:
    PHP-Code:
    <img src="cms/includes/tiny_mce/plugins/imagemanager/images/meister.jpg" border="0" alt=" " width="187" height="265" /> 
    mein code hierzu sieht nun wie folgt aus:

    PHP-Code:
    // $cont = eingangsstring

        
    $suche = array         ('@<img src="(.*?)"[^>]*?>@si');
        
    $ersetze = array    ('< img src="cms/\1\2"\3>');
            
        
    $text preg_replace($suche$ersetze$cont);

    // $text = ausgabestring 
    funzt jedoch nicht.
    wenn mir jemand das problem lösen könnte, wäre ich ihm sehr dankbar!

    gruß
    wolle
    Zuletzt geändert von wolle85; 18.05.2006, 00:30.

  • #2
    Ist openengine oder?
    PR4 Webkatalog

    Kommentar


    • #3
      RegEx
      Code:
      	$suche = "/<img src=\"(.*?)\"([^>]*)>/i";
      	$ersetze = "<img src=\"cms/\\1\"\\2>";
      		
      	$text = preg_replace($suche, $ersetze, $cont);

      Kommentar


      • #4
        danke für die hilfe,
        aber leider geht es mit deiner version noch immer nicht...
        ich glaube aber zu wissen, was das problem ist.

        PHP-Code:
        // $cont = eingangsstring 

           
        $suche = array       ('@<img(.*?)>@si'); 
           
        $ersetze = array   ('<b>\1\2</b>'); 
               
           
        $text preg_replace($suche$ersetze$cont); 

        // $text = ausgabestring 
        img tags mit kompletten inhalt entfernen
        ausgabe:
        src="includes/tiny_mce/plugins/imagemanager/images/meister.jpg" border="0" alt=" " width="187" height="265" /

        PHP-Code:
        // $cont = eingangsstring 

           
        $suche = array       ('@<img src=(.*?)>@si'); 
           
        $ersetze = array   ('<b>\1\2</b>'); 
               
           
        $text preg_replace($suche$ersetze$cont); 

        // $text = ausgabestring 
        ausgabe:
        "includes/tiny_mce/plugins/imagemanager/images/meister.jpg" border="0" alt=" " width="187" height="265" /

        so jetzt fangen die probleme an...
        sobald ich
        PHP-Code:
        @<img src="(.*?)@si'); 
        schreibe, funzt es net mehr.

        nicht funzen heisst: es wird nichts erkannt und nichts umgewandelt. bleibt also alles original stehen.
        das problem scheint das " hinter src= zu sein... aber keine ahnung wieso...
        am einfachsten wäre es, einfach alles nach <img src=" rauszuschneiden... weil dieser teil ist bei allen bildern gleich...

        gruß
        wolle

        Kommentar


        • #5
          so gehts:
          PHP-Code:
          $ergebnis preg_replace('/<img src="([^"]*)/''cms/\\1'$text); 

          Kommentar

          Lädt...
          X