Laden...

Regex: Pattern für benannte HTML-Zeichen passt nur für manche Zeichen, für andere nicht

Erstellt von prakti08 vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.069 Views
P
prakti08 Themenstarter:in
321 Beiträge seit 2008
vor 13 Jahren
Regex: Pattern für benannte HTML-Zeichen passt nur für manche Zeichen, für andere nicht

Hallo.
Ich möchte einen Text zu Html parsen.
Es kann sein, dass ein teil dieses Textes schon Html ist. In dem Fall sollen diese Elemente unangetastet bleiben.
Dazu nutze ich Regex.
Ich habe ein Problem mit dem &, da es ja < > usw gibt und diese & nicht ersetzt werden sollen.

Mein Regex-String:

&(?!ü)(?!amp;)(?!gt;)(?!nbsp;)(?!lt;)(?!auml;)(?!ouml;)(?!Ä)(?!Ö)(?!Ü)(?!ß)

Damit sollten eigentlich nur die & gefunden werden, die nicht uuml; amp; ... dahinter stehen haben.
Für die meisten dieser Zeichen funktioniert das auch.
Aber, bei diesem String:

üäö >&<
ÄÖßÜ

werden diese Zeichen trotzdem gefunden :

Ä Ö ß Ü ü

Die anderen Zeichen werden, wie gewollt, übersprungen.
Kann mir einer sagen woran das liegt?
Ist in meinen Überlegungen ein Denkfehler?

Vielen Dank für die Hilfe im Voraus 😉

Use the source, Luke!

Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.

795 Beiträge seit 2006
vor 13 Jahren

Bei den jeweiligen sind auch die &'s davor zuviel!

So sollte es gehen:

&(?!uuml;)(?!amp;)(?!gt;)(?!nbsp;)(?!lt;)(?!auml;)(?!ouml;)(?!Auml;)(?!Ouml;)(?!Uuml;)(?!szlig;)

Gruß, Christian.

`There are 10 types of people in the world: Those, who think they understand the binary system Those who don't even have heard about it And those who understand "Every base is base 10"`
P
prakti08 Themenstarter:in
321 Beiträge seit 2008
vor 13 Jahren

OMG 😄:D
Ja, genau in diesem Moment ists mir auch aufgefallen.
Danke

Use the source, Luke!

Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.