regex gesucht: html klein schreiben und attribute in "

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

  • regex gesucht: html klein schreiben und attribute in "

    ich versuche vergebens, zwei regex ausdrücke zu erstellen. es geht darum, html zu "parsen":
    • der erste ausdruch soll alle html-attribute in anführungszeichen ( " ) setzen, wenn sie das nicht schon sind.
    • der zweite soll alles html incl. attributen (aber ohne attributwerte!) klein schreiben.

    ich will damit damit mein html mehr oder weniger xhtml konform machen. leider habe ich gemerkt, dass ich dafür noch zu ungeübt in regex bin. ich hoffe, jemand kann mir hier weiterhelfen.

  • #2
    Re: regex gesucht: html klein schreiben und attribute in "

    das erste dürfte kein grosses problem sein, du musst nur alle zeichen ausser einem leerzeichen und (einfachen/ doppelten) anführungszeichen suchen, die hinter einem gleichheitszeichen stehen.

    für das zweite fällt mir kein geeignetes suchmuster ein, ich vermute mal dass wird über eine einzelne regex sehr schwierig werden, weil du ja alle zeichen innerhalb von spitzen klammern erwischen musst, aber davon jene ausgeschlossen, die innerhalb von anführungszeichen stehen. *no idea*
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      >> leider habe ich gemerkt, dass ich dafür noch zu ungeübt in regex bin.
      >> ich hoffe, jemand kann mir hier weiterhelfen.

      Tja dann üb es doch!!
      http://laforge.homelinux.com/laforge/regex/

      Grüsse Orestes
      Zuletzt geändert von Orestes; 25.05.2003, 23:25.
      Risc is part of the game if you want to sit in the captain´s chair.

      Kommentar


      • #4
        schubidu

        nicht getestet, aber schau halt mal:

        2. $text = preg_replace('/<([a-z0-9]*)([^>]*)>/ie', ('strtolower(\'<$1\').\'$2>\'), $text);
        Probleme gibt´s dabei garantiert mit ">"-Zeichen in Attributen; aber ausser evtl. in JavaScript-Code können die eigentlich nicht auftauchen. Und JavaScript-Code im Attribut ohne Anführungszeichen funktioniert eh kaum.

        1. $text = preg_replace('/<(.*)([a-z]*)="?([\S]*)"(.*)>?/iU', '$1$2="$3"$4>', $text);
        Ich hoffe, damit wird nicht nur ein Attribut ersetzt ...

        um die Ausdrücke zu verstehen, studier mal diese Seiten im PHP-Handbuch: preg_replace, PReg Pattern Syntax und PReg Pattern Modifiers
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar

        Lädt...
        X