phpbar.de logo

Mailinglisten-Archive

[php] Schon wieder ein Regex-Problem

[php] Schon wieder ein Regex-Problem

Thomas Richter php at wwedit.org
Sam Sep 25 10:30:00 CEST 2004


> > $name = preg_replace("'(\D);'", "\\1", $name);
> 
> ich glaub das war falschrum :)
> 
> $name = preg_replace("'\D(;)'", "\\1", $name);

Ich denke nicht... \\1 bezieht sich ja auf den geklammerten ausdruck,
also ;

Im Endeffekt koennte man hier uebrings auch einfach
("'\D(;)'",";",$name) schreiben.

Um es aber richtig schoen zu machen heisst das zauberwort "assertions".
(siehe manual unter "Pattern Syntax").


Dann ergibt sich folgendes:


$name = preg_replace('/(?<!\d);/','',$name); // negative lookbehind
assertion

Gruss

thomas



php::bar PHP Wiki   -   Listenarchive