Skrilax: Conditional Expressions

Beitrag lesen

Hallo!

my @terms = split(/(?<!&#62);/,$string);

Ein wenig verallgemeinern könnte man noch per /(?<!&#\d\d);/. Damit fängst du zumindest schon mal alle zweistelligen Entitäten.

Für Entitäten mit unterschiedlicher Stellenanzahl könnte man es z.B. noch zu /(?<!(.&#\d\d|&#\d{3}));/ oder so ausbauen. Aber damit wird eine zweistellige Entität die gleich am Anfang steht nicht mehr erkannt.

Eine andere Herangehensweiße die mir noch einfällt wäre, zuerst alle Semikoleons von Entitäten durch ein anderes Zeichen zu ersetzen, danach die Zeichenkette zu zerteilen, um schlussendlich wieder alle Entitäten-Semikoleons einzusetzen.

Hmm, elegante Varianten fallen mir da aber leider keine ein. ;)

Grüße, Skrilax