Thread Zeichen in RegEx darf nicht zwischen <> stehen (26 answers)
Opened by Matze at 2006-04-18 11:40

sid burn
 2006-04-18 19:37
#65020 #65020
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
[quote=Dubu,18.April.2006, 16:25]Es klingt zwar erstmal bestechend, alle paarweise stehenden spitzen Klammern zu suchen. Das geht aber schief, wenn du spitze Klammern dazwischen hast, die nicht zur HTML-Syntax gehören, z.B. in JavaScript (if (x > y) {...) oder alt-Attributen (<img src="/img/next.gif" alt=">>">).
HTML::Parser macht's besser.[/quote]
Ob nun Java Script, PHP oder auch Perl Code in der Datei vorkommt weiß ich ja nicht, wenn dies der Fall ist muss man es defintiv anpassen.

Ansonsten das andere probleme mit dem Größer Gleich Zeichen innerhalb von Anführungszeichen, dass ist sicherlich etwas was zu einem Problem führen könnte. Ich habe die regex nun angepasst das wenn innerhalb von Spitzen klammern Anführungszeichen vorkommen, dass alles was zwischen den Anführungszeichen vorkommt, ignoriert wird.

Allerdings weiß ich gerade gar nicht wie man innerhalb von HTML ein Anführungszeichen schreibt? Wird das einfach mit einem Backslash escaped? Wenn ja muss ich das auch noch einbauen.

Ob nun JavaScript, PHP oder sonstiges in der Datei vorkommt, muss der Thread ersteller Wissen, oder sagen.


Ansonsten ist das Konstrukt ja relativ leicht erweiterbar. Bei PHP kann man einfach nach den Anfangs und den Endtags suchen, und alles was dazwischen ist ignorieren. Oder aber wenn Ausgaben, von PHP auch überprüft werden sollen, dann überprüft man nur die String innerhalb des PHP Blockes und fügt den Zahlen das font Tag hinzu.

Letztes könnte sicherlich wieder "etwas" komplizierter werden. Allerdings weiß man ja nicht genau was in dieser "textdatei" noch alles zu finden ist.


Unter umständen kann man ja vielleicht die Suche nach den zahlen auch anders Stellen. z.B. die zahlen die nur in einer tabelle ausgegeben werden. Oder nur die innerhalb von Strings auftreten (Bei JS, PHP ...). Vielleicht wird die Ausgabe einer zahl ja auch immer mit bestimmten HTML tags eingeleitet etc. Solange man nichts genaueres über die Original Datei weiß, kann man auch nicht alle Fälle abdecken.

Z.B. werden auch zahlen innerhlab von Kommentare editiert etc.\n\n

<!--EDIT|sid burn|1145375297-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Zeichen in RegEx darf nicht zwischen <> stehen