mehrere sachen ersetzen?
nichtswisser
- php
Hallo,
Ich möchte mehrere sachen ersetzen, d.h.
$var= 'hallo/wie gehts....'
echo ereg_replace("(.)(/)", ' ', §var);
Gewünschte ausgabe: hallo wie gehts
Nur leider funktioniert das nciht...
Was hab ich Falsch gemacht?
Danke!
Hi nichtswisser,
Ich möchte mehrere sachen ersetzen, d.h.
$var= 'hallo/wie gehts....'
echo ereg_replace("(.)(/)", ' ', §var);
Gewünschte ausgabe: hallo wie gehts
Also wenn du wie oben z.B. nur den / ersetzen willst,
dann nutze einfach mal str_replace():
$var = str_replace("/"," ",$var);
Du kannst dies natürlich auch mehrmals hintereinander
machen, um mehrere Zeichen zu ersetzen.
Wenn dann allerdings komplexere Suchmuster ersetzen lassen
willst, müsstest du wohl doch auf preg_replace()
zurückgreifen.
MfG, Dennis.
Ich möchte mehrere sachen ersetzen, d.h.
$var= 'hallo/wie gehts....'
echo ereg_replace("(.)(/)", ' ', §var);
Gewünschte ausgabe: hallo wie gehts
So gehts:
echo strtr($var, array('/' => ' ', '.' => ' '));
oder so:
echo strtr($var, './', ' ');
oder so:
echo ereg_replace("[./]", ' ', $var);
Der reguläre Ausdruck ist dabei so zu lesen: Suche eines der Zeichen in den eckigen Klammern.
Dein Ausdruck lautet: Finde ein beliebiges Zeichen (das sagt der Punkt aus) gefolgt von einem /, und merke dir das beliebige Zeichen und den / für spätere Verwendung (mit \1 und \2 kann man auf die geklammerten Dinge zugreifen).
Z.B. so:
echo ereg_replace("l(.+)i", '(\1)', $var);
Findet l, gefolgt von einem oder beliebig vielen (+) beliebigen Zeichen (.), gefolgt von i. Ersetzt wird das ganze mit 'Klammer auf', dem zwischen l und i gefunden Teil und 'Klammer zu'.