Negation in PCRE

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by TBT; 29-12-2003, 10:13.

  • #2
    hoppala, da is wohl auch son PCRE-Prob *g* Der Pattern is im Anhang.
    Attached Files

    Comment


    • #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

      Comment


      • #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).

        Comment

        Working...
        X