Negation in PCRE

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

  • Negation in PCRE

    Hallo,

    ich will eine Art Syntax-Highlighting fuer HTML-Source entwickeln, und nun soll alles, was zwischen > und </ steht und nicht die Zeichen < oder > enthaelt erstenmal nur gefunden werden, muesste als bei
    <title>TITEL</title> den String TITEL, aber bei
    <head><title></title></head> nichts, aber trotzdem bei
    <head><title>TITEL</title></head> das Wort TITEL finden. Hab bei php.net mal nachgelesen und bin bei Assertions auf '?!_for_negative_assertions' bzw. '(?<!foo)bar' fuer rchtungsbezogene Negationen bestoßen.

    Hab dann folgenden Pattern versucht (die < und > sind in HTML-Code):

    PHP-Code:
    preg_match_all("/(&gt;)((?<!&lt;)(.*?)(?>!&gt;))(&lt;\/)/s"$this->html$regs); 
    Das findet aber nun ueberhaupt nichts... hat jemand ne Idee?
    EDIT:
    hab mal die Smilies deaktiviert
    Zuletzt geändert von TBT; 29.12.2003, 10:13.

  • #2
    hoppala, da is wohl auch son PCRE-Prob *g* Der Pattern is im Anhang.
    Angehängte Dateien

    Kommentar


    • #3
      wieso so kompliziert ?
      Code:
      /&lt;(.*)&gt;/siU
      TBT

      Die zwei wichtigsten Regeln für eine berufliche Karriere:
      1. Verrate niemals alles was du weißt!


      PHP 2 AllPatrizier II Browsergame

      Kommentar


      • #4
        Original geschrieben von TBT
        wieso so kompliziert ?
        Code:
        /&lt;(.*)&gt;/siU
        Dieser Pattern wuerde alles zwischen < und > finden. Ich will aber das finden, was zwischen den HTML-Tags steht uns selbt kein HTML-Tag ist (ergo kein < oder > hat).

        Kommentar

        Lädt...
        X