regulärer Ausdruck für Syntax-Highlightning

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

  • regulärer Ausdruck für Syntax-Highlightning

    Ich habe mir viele Gedanken über die Programmierung einer Klasse für HTML-Hightlightning gemacht, die ein Kunde gerne für seine Foren hätte und bin bei einem entscheidenden Problem hängen geblieben.

    Wenn ich die Tags durch Ersatzzeichen austausche und mit font-Angaben ergänze, nutze ich preg_replace und einen regulären Ausdruck á lá

    PHP-Code:
    "/<a(.*)>(.*)<\/a>/" 
    Nun muss ich aber verhindern dass innerhalb des zu ersetzenden Tags der gleiche nochmal vorkommt, da sonst z.B. bei Kommentaren große Probleme auftauchen, die soweit logisch klar sind. Denn für Kommentare suche ich immer die Kommentar-Blöcke in denen dann der HTML-Code direkt in Ersatzzeichen umgewandelt wird, so dass später kein weiteres Hightlightning im einheitlich grauen Kommentar-Teil vorkommen kann.

    Mit dem reg. Ausdruck

    PHP-Code:
    "/<!--.*-->/" 
    Der angewendete preg_match_all gibt nun als ersten Fund den gesamten Codeblock zwischen dem ersten auftauchenden "<!--" und dem letzten auftauchenden "-->" zurück. Das ist auch logisch...aber mein Problem.

    Wie kann ich innerhalb eines Regulären Ausdruckes das vorkommen einer Zeichenkette verbieten? Einzelne Zeichen kann ich mittels eckiger Klammern ([^zeichen]) beliebig rausnehmen ... nur finde ich weder mit Google noch in Foren-Suchen eine Lösung wie ich eine Zeichenkette innerhalb des Ausdruckes verbieten kann.


    Schonmal thx für die Antworten falls das verständlich ausgedrückt war und ansonsten bitte auch per ICQ(121713822) melden.


    So long,
    Dominik

  • #2
    Liesmal nach : Erweiterte Patterns in RegExp unter Tutorial RegExp

    Hat mir echt geholfen
    chansel0049
    ----------------------------------------------------
    if you've reached the bottomline - dig further!
    Übersetzer gesucht? http://www.babelport.com

    Kommentar

    Lädt...
    X