Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[REGEX] Regex geht nicht mehr wenn "[]" im Suchmuster [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[REGEX] Regex geht nicht mehr wenn "[]" im Suchmuster


 
daniel987
05-03-2006, 15:21 
 
Ich habe ein Problem mit folgendem Regulären Ausdruck:

preg_replace( '#\{\$(w+)\|(\w+)\}#U', "<?php echo $2(\$$1); ?>", $tpl );

Auf {$var|intval} springt der Ausdruck an, nicht jedoch auf:
{$var[key]|intval} .

Weis jemand woran das liegt?

 
derHund
05-03-2006, 15:26 
 
[ und ] sind kein \w.

 
daniel987
05-03-2006, 16:49 
 
Hm okay stimmt. Aber ich bekomme es irgendwie nicht hin da noch die Zeichen ' [ ] hinzuzufügen.

preg_replace( "#\{\$(\w+)\|((\w|[\[\]'])+)\}#U", "<?php echo $2(\$$1); ?>", $tpl );

 
Luke
05-03-2006, 16:53 
 
Wenn du die als Zeichen haben willst musst du die escapen (genauso wie deine ws) (oder ist das bei JS anders?)

 
daniel987
05-03-2006, 16:58 
 
Ich hab sie ja mit einem "\" Escaped ist leider durch das Board nicht sichtbar. Zitier mal meinen Beitrag dann siehst du den vollständigen Regex.

 
daniel987
05-03-2006, 21:52 
 
Habs jetzt selbst rausbekommen.

 
TobiaZ
05-03-2006, 21:55 
 
dann poste doch bitte die lösung, falls später mal jemand ein ähnliches problem hat. ;)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:15 Uhr.