Re: [vienna.pm] Reguläre Ausdrücke?

Marcel Grunauer marcel.gruenauer at chello.at
Mon Jan 21 08:53:38 CST 2002


* * * vienna-pm-list * * *


On Montag, Jänner 21, 2002, at 02:40  Uhr, Philipp Gühring wrote:

> Also alle & durch & ersetzen(breinigen), außer sie sind bereits Teil
> gültiger Tokens.

zwei moeglichkeiten (mindestens). die erste ist, darauf zu vertrauen, 
dass
alles was, nach &xxx; aussieht, auch ein gueltiges html-token ist, dann
reicht ein

	s/&(?!\w+;)/&/g;

das laesst dann aber auch ungueltige "entities" wie etwa &karli; aus, 
aber
sowas ist ja eher unueblich. diese methode ist also der "quick hack".

die pedantische methode besteht darin, ein array mit allen gueltigen 
entities
anzulegen und das dann in der regex zu interpolieren:

	my @ent = qw/auml amp ouml .../;  # usw., siehe etwa HTML::Entities
	$"='|';
	s/&(?!(@ent);)/&/g;

das $" ist das zeichen, das in einem interpolierten array als 
elementtrenner
genommen wird.

das ganze besteht also darin, alle '&', die nicht von einem entity-rest
gefolgt sind, zu ersetzen.

marcel


###
You are subscribed to vienna-pm-list as Marcel Grunauer <marcel.gruenauer at chello.at>
http://www.fff.at/fff/vienna.pm/



More information about the Vienna-pm mailing list