preg_replace und eregi_replace treffen nur 1x

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

  • preg_replace und eregi_replace treffen nur 1x

    Hallo Gemeinde,

    Ich möchte auch einem Quelltext alles entfernen was zwischen
    PHP-Code:
    <em> </em
    tags steht.

    Hier mal mein kleines script:

    PHP-Code:
    $textarea str_replace("\\\""""$textarea);
    $textarea preg_replace("/<ul>/"""$textarea);
    $textarea preg_replace("/<\/ul>/"""$textarea);
    $textarea preg_replace("/<li>/"""$textarea);
    $textarea preg_replace("/<\/li>/""<br>"$textarea);
    $textarea2 eregi_replace("<em>.*</em>"""$textarea);

    echo 
    $textarea2
    Das funktioniert soweit bis auf die einschränkung, das nach dem ersten ersetzen abgebrochen wird. So sieht der Quelltext org. aus:

    PHP-Code:
    <!--  Header: [begin] -->

                <
    div class="header_1">Alle Artikel von A</div>
            <!--  
    Header: [end] -->
                <
    ul><li><a href="foto-lexikon/abbildung.html"
     
    title="Optische Abbildung" target="_top" class="internal-link"><img
     alt
    ="Öffnet einen internen Link im aktuellen Fenster" 
    src="typo3/sy************t/rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/internal_link.gif"
     
    />Abbildung</a> - <em>Projektion eines Objektes auf eine 
    Ebene
    </em></li><li><a href="foto-lexikon/abbildungsfehler.html" 
    title="Abbildungsfehler" target="_top" class="internal-link"><img 
    alt
    ="Öffnet einen internen Link im aktuellen Fenster" 
    src="typo3/sy************t/rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/internal_link.gif"
     
    />Abbildungsfehler</a> - <em>Abweichnung von der idealen 
    optischen Abbildung
    , die eine Unschärfe oder Verzerrung 
    bewirkt
    </em></li><li><a href="foto-lexikon/abbildungsgesetz.html"
     
    title="Abbildungsgesetz" target="_top" class="internal-link"><img 
    alt
    ="Öffnet einen internen Link im aktuellen Fenster" 
    src="typo3/sy************t/rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/internal_link.gif"
     
    />Abbildungsgesetz</a> - <em>Die Beschreibung des 
    Zusammenhangs zwischen Bild und Objekt
    </em></li><li><
    href
    ="foto-lexikon/abildungsmassstab.html" 
    title="Abbildungsma?tab" target="_top" class="internal-link"><img 
    alt
    ="Öffnet einen internen Link im aktuellen Fenster" 
    src="typo3/sy************t/rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/internal_link.gif"
     
    />Abbildungsmaßstab</a> - <em>Das Größenverhältnis zwischen 
    einem Objekt und seiner Abbildung
    </em></li><li><
    href
    ="foto-lexikon/abblendtaste.html" title="Abblendtaste" 
    target="_top" class="internal-link"><img alt="Öffnet einen internen 
    Link im aktuellen Fenster" 
    src="typo3/sy************t/rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/internal_link.gif"
     
    />Abblendtaste</a> - <em>Bei einäugigen Spiegelreflexkameras 
    mit Offenblendmessung eine Funktion
    , die Arbeitsblende zum Zweck 
    der Schärfentiefenkontrolle einzustellen
    </em></li><li><
    href
    ="foto-lexikon/abdecklack.html" title="Abdecklack" 
    target="_top" class="internal-link"><img alt="Öffnet einen internen 
    Link im aktuellen Fenster"
    .... 

    Nachdem das script duch ist, sieht der Quelltext so aus:

    PHP-Code:
    <!--  Header: [begin] -->

                <
    div class=header_1>Alle Artikel von A</div>

            <!--  
    Header: [end] -->
                <
    a href=foto-lexikon/abbildung.html title=Optische 
    Abbildung target
    =_top class=internal-link><img alt=Öffnet einen 
    internen Link im aktuellen Fenster 
    src
    =typo3/sy************t/rtehtmlarea/htmlarea/plugins/TYPO3Browsers/img/internal_link.gif
     
    />Abbildung</a> - <br>


        <!--
    TYPO3SEARCH_end--> 
    er macht also die erste Zeile, und hört dann auf, den Kommentar am schluss bringt er allerdings noch...

    Kann mir jemand erklären was ich da falsch mache?

    Danke Gruss Manfred

  • #2
    versuchs mit den modifiern u und s.

    Kommentar


    • #3
      Morgen!

      Danke für Deine Antwort. Ich habs mit den modifiern versucht, jedoch ohne erfolg, ich bekomme nun alles wieder ausgegeben. Dabei ist es unerheblich ob ich die <> matche oder nicht.....

      auch weitere modifier helfen nicht....



      PHP-Code:
      $textarea2 preg_replace("/<em.*em>/us"""$textarea); 
      Vielleicht hat einer eine spontane Idee:

      Ich hab ne mege Quelltext und möchte mir aus dem Quelltext alle a href Tags mit dem einen Wort in einer tabelle oder als CSV auslesen um die Daten in einer Datenbank weiterzuverarbeiten. Das Programm wird nur einmal für diesen Fall benötigt.

      Vielleicht wäre es klüger aus dem String alle <a href *** </a> zu suchen? Welche funktion könnte ich da am besten nutzen? Mit Suchen mit WIldcards im String hab ich noch nie gemacht, vielleicht wird`s Zeit?

      Manfred

      Kommentar


      • #4
        preg_match_all()

        Kommentar


        • #5
          Original geschrieben von TobiaZ
          preg_match_all()
          Hallo TobiaZ,

          soweit war ich heute morgen auch schon, aber da habe ich das selbe Problem:

          PHP-Code:
          preg_match_all("/<a href.*a>/us"$textarea$textarea2PREG_PATTERN_ORDER);

          print_r($textarea2); 
          da bringt nur
          PHP-Code:
          Array ( [0] => Array ( ) ) 
          zum vorschein. Das mit dem Joker ist doch richtig? Ich bekomme sobald ich ein .* einsetze keine ergebnisse zurück. suche ich nach <em> bekomme ich alle zurück, suche ich nach <em.*\/em> kommt nichts, das gleiche bei den a Tags....

          Kommentar


          • #6
            Hint: http://www.php-resource.de/tutorials/

            Kommentar


            • #7
              ich weiß nicht, was du falsch machst, aber bei mir funktioniert es:
              http://regexp-evaluator.de/evaluator...66a9/#ergebnis

              Kommentar

              Lädt...
              X