Habe folgenden Code:
PHP
function wortersetzen($content) {
if (get_option('meinplugin_werte') != false) {
$data = explode("\n", stripslashes(get_option('meinplugin_werte')));
foreach($data as $wert) {
$tmp = explode(";",$wert);
// Separierte Werte in separierte Arrays uebergeben
$finde[] = $tmp[0];
$ersetze[] = $tmp[1];
}
$cnt = count($finde);
for($i=0;$i<$cnt;$i++) {
$replace = $finde[$i];
$pattern = "/\b($replace)\b(?=([^>]*<))/i";
$content = preg_replace($pattern,$ersetze[$i],$content);
}
preg_match_all('#[^>]+(?=<[^/])|[^>]+$#', $content, $matches, PREG_SET_ORDER);
foreach ($matches as $val) {
$content = str_replace($val[0],str_replace($finde,$ersetze,$val[0]),$content);
}
$return = $content;
} else {
$return = $content;
}
return $return;
Alles anzeigen
Funktioniert prima, allerdings:
z.B. wenn ich "wort" suche und mit "WORT" ersetze, wird z.B. aus Antwort -> AntWORT.
z.B. wenn ich "Wort" suche und mit "<b>Wort</b>" ersetze, wird aus "Worts" ein "Wort s" [Blockierte Grafik: http://www.psd-tutorials.de/forum/images/smilies/smilies/icon_muede.gif]