[PHP] Reguläre Ausdrücke

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Inquisito, 1. Februar 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 1. Februar 2008
    Reguläre Ausdrücke

    Hi guys,

    ich hab in einem anderen Thread erfahren das ich mit preq_match_all hervorragend bestimmte teile meines HTML-Codes entfernen kann.

    Leider komme ich mit den Regulären ausdrücken nicht so ganz klar, ich hab mich zwar daran versucht und den dort verwendeten Ausdruck versucht anzupassen, aber leider führt das nicht zu dem gewünschten ergebniss (eher zu garkeinem...)

    Ich möchte gerne aus einem String sämtliche HTML-Kommentare entfernen (<!-- .... -->). Ich habe den folgenden Suchstring :

    Code:
    preg_match_all("!{([^}]*)!",$test,$ergebnisse); 
    Versucht ungefähr so anzupassen :
    Code:
    preg_match_all("/<!--([^-->]*)!",$test,$ergebnisse); 
    Das führt allerdings zu keinem ergebniss.


    Ich hab es noch mit einem anderen Ausdruck versucht... leider hab ich den bereits überschrieben :angry: , auf jedenfall führte der auch zu keinem ergebniss.

    Das was ich möchte ist im prinzip einfach ... alles was mit "<!--" im string beginnt und mit "-->" enden, möchte ich entfernen. (Mit oder ohne "<!--" "-->" ..).

    Ich bin langsam am verzweifeln ^^

    Danke im voraus , guys
     

  2. Anzeige
    Dealz: stark reduzierte Angebote finden.
  3. #2 1. Februar 2008
    AW: Reguläre Ausdrücke

    Code:
    preg_replace('~(?:(\<\!-- .* --\>))~sUX', '', $string); 
    probiert?
     
  4. #3 1. Februar 2008
    AW: Reguläre Ausdrücke

    Jep, er findet nun zwar irgendwas aber wenn ich exakt das ausgebe ist der string leer (siehe routine).

    Code:
     $testdecode = $string;
     $test = stripslashes($testdecode);
     // Code aus der Variable holen
     preg_match_all("~(?:(\<\!-- .* --\>))~sUX",$test,$ergebnisse);
     foreach ($ergebnisse[1] as $code)
     {
     $code_text = $code;
     $string=str_replace("<!--".$code_text."-->","",$string);
    
     print($code_text."<BR>"); #Hier die ausgabe : LEERE string. circa 3-4 stück.
     }
    
    Aber glaube der weg ist nicht der falsche ^^
     
  5. #4 1. Februar 2008
    AW: Reguläre Ausdrücke

    PHP:
    $string  = <<<END_S
    hallo welt <br />
    <!-- ein kommentar -->
    weiterer text<br />
    <!-- noch ein kommentar -->
    ende!    
    END_S;
        
    $string  preg_replace ( '~(?:(\<\!-- .* --\>))~sUX' '' $string );
    print 
    $string
    geht ohne probleme.
     
  6. #5 1. Februar 2008
    ah, hab die funktion nicht geändert, hast vollkommen recht, funktioniert.

    Leider nur eingeschränkt, dend mehrzeilige kommentare werden nicht entfernt (kann mir das logisch nicht erklären...).

    Prinzipiel schonmal richtig gut !
    Danke :) Bw ist für dich raus.

    :admin:

    Alles klar, hab die Leerzeichen im Ausdruck entfernt, danach sind auch letzte Reste getilgt, ich danke dir herzlich !!!
     

  7. Videos zum Thema
Die Seite wird geladen...
Similar Threads - PHP Reguläre Ausdrücke
  1. Antworten:
    3
    Aufrufe:
    1.004
  2. Antworten:
    2
    Aufrufe:
    449
  3. [PHP] Reguläre Ausdrücke

    pleq , 13. April 2009 , im Forum: Webentwicklung
    Antworten:
    7
    Aufrufe:
    395
  4. [PHP] Regulärer Ausdruck

    Sm0x3 , 10. Oktober 2007 , im Forum: Webentwicklung
    Antworten:
    3
    Aufrufe:
    270
  5. [PHP] Reguläre Ausdrücke

    Smokers , 20. September 2007 , im Forum: Webentwicklung
    Antworten:
    5
    Aufrufe:
    524
  • Annonce

  • Annonce