preg_replace

rernanded

Erfahrenes Mitglied
Hi

ich benutze preg_replace und habe das Problem das Worte ersetzt werden sollen und nicht Teile aus Worten.

Bespiel mein Code:
PHP:
$suchmuster = array();
$suchmuster[0] = '/name/';

$ersatz = array();
$ersatz = 'moni';

Wäre das suchmuster[0] = vornamen ist das Ergebnis vormonin, und das will ich vermeiden.
Ich glaube das geht irgendwie mit diesen Zeichen:
PHP:
 .(\b)#
Ausserdem will ich erreichen, das Name durch Moni ersetzt wird. Vllt muß ich dafür aber auch gesondert suchmuster(Name) und ersatz(Moni) anlegen?

MONI
 
Zuletzt bearbeitet:
PHP:
$pattern = '/[^ ]name[^ ]/';
$replace = 'moni';

$content = preg_replace($pattern, $replace, $content);

Danke Dir. Aber das funktioniert bei mir nicht richtig.

Aus
nameydssdg fddnamed name cd.

wird
nameydssdg fdmoni name cd.

Besser ist vllt
PHP:
$pattern = '/\b'.name.'\b/';
$replace = 'moni';

$content = preg_replace($pattern, $replace, $content);


Gibts auch eine Lösung für die Großschreibung? oder muß ich tatsächlich alle Fälle einzeln "behandeln"?
MONI

Bei meiner Version mit
PHP:
$pattern = '/\b'.name.'\b/';
$replace = 'moni';

$content = preg_replace($pattern, $replace, $content);

gibts nämlich das Problem wenn im Suchmuster 2 Worte stehen, also wenn ich zB Ausdrücke ersetzen will wie "vor allem".

MONI
 
Zurück