Problel mit preg_replace()
xci
- php
Hi,
$test = 'hans.tdsaf432.xci';
echo preg_replace("![\w|.|-].pdf[\w|.|-]!","_",$test);
es kommt das hier raus:
yeshans_tdsaf432_xci
also ersetzt er mir das falsche ;-) Da hätt ich gleich mit str_replace arbeiten können.
Rauskommen sollte aber:
yeshans_tdsaf432.xci
Danke...
$test = 'hans.tdsaf432.xci';
echo preg_replace("![\w|.|-].pdf[\w|.|-]!","_",$test);
soll eigentlich heissen:
echo preg_replace("![\w|.|-].xci[\w|.|-]!","_",$test);
soll eigentlich heissen:
echo preg_replace("![\w|.|-].xci[\w|.|-]!","_",$test);
Hab mich vertippt sorry, ja deines stimmt, kannst du mir helfen?
gudn tach!
preg_replace("![\w|.|-].pdf[\w|.|-]!","_",$test);
mit [] werden zeichenklassen definiert. gruppiert wird mit ().
es kommt das hier raus:
yeshans_tdsaf432_xciRauskommen sollte aber:
yeshans_tdsaf432.xci
willst du alle punkte durch underscores ersetzen, die nicht, das viertletzte zeichen sind? dann brauchst du nicht mal regexp, sondern kannst einfach str_replace auf einen substring anwenden.
oder was ist dein ziel?
prost
seth
willst du alle punkte durch underscores ersetzen, die nicht, das viertletzte zeichen sind? dann brauchst du nicht mal regexp, sondern kannst einfach str_replace auf einen substring anwenden.
oder was ist dein ziel?
Genau das ist das Ziel!!
Das kann ich mit str_replace machen??
Grüße
gudn tach!
willst du alle punkte durch underscores ersetzen, die nicht, das viertletzte zeichen sind? dann brauchst du nicht mal regexp, sondern kannst einfach str_replace auf einen substring anwenden.
oder was ist dein ziel?Genau das ist das Ziel!!
Das kann ich mit str_replace machen??
ja, in kombination mit substr.
http://php.net/str_replace
http://php.net/substr
// $str gegeben
$str = str_replace('.', '_', substr($str, 0, -4)).substr($str, -4);
falls die letzten drei zeichen noch durchsucht werden sollen, musst du den code entsprechend abaendern.
prost
seth