C# RegEx Patter zum Überprüfen ob in PHP-Tags
-
Hallo ForenGemeinde,
ich habe ein ähnliches Problem, wie hier bereits zu sehen ist:
http://www.c-plusplus.net/forum/283132Nun, das Problem ist hier nicht der Ansatz, sondern der Pattern des RegEx's.
Ich habe vor Kommentare, ... in den umklammerten PHP Tags zu entfernen.
Nebenbei habe ich aber auch noch HTML Code, den ich nicht beschädigen will.
Also:
Alle Kommentare (hauptsächlich Kommentare), sollen in den PHP tags entfernet werden.Mein Code ist folgender:
string text = "HTML mit PHP Code aus Datei" text = text.Replace("<?php", "<?php "); text = text.Replace("?>", "?>"); Regex reg = new Regex(".*?[^:](//.*)"); foreach (Match m in reg.Matches(text)) { text = text.Replace(m.Groups[1].Value, string.Empty); } Regex reg2 = new Regex(".*?[^a-zA-Z0-9_](#.*)"); foreach (Match m in reg2.Matches(text)) { text = text.Replace(m.Groups[1].Value, string.Empty); } text = Regex.Replace(text, @"/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/", string.Empty, RegexOptions.Compiled | RegexOptions.Singleline); return text;
-
Hallo,
oder anders gefragt,
Wie kann ich in einem String, "<?php" und "?>", per RegEx abfangen?
Mfg...
-
Ganz altmodisch könnte man das über einen Zustandautomanten (mit den Zuständen HTML, Php, Kommentare und Strings [ für jeden Typ einen[', ", Hedoc, ...]) und nicht im Regex lösen. Sonst wird das ein sehr großes Regex.
-
Hallo,
danke für deine Antwort.
Letzendlich meinst du Klassen, die man über Strukturen anspechen kannst?
Gruß.