werndt: Wörter filtern die nicht in einem Link sind;regexp

Beitrag lesen

Guten Tag,

Hi. Ich will in einem Volltext alle vordefinierten Wörter durch den Text Fred ist doof ersetzen.
Dies soll aber nur passieren wenn die gesuchten Wörten nicht zwichen einem Link, also <a und a> stehen.

Wenn ich's recht verstanden habe, könntest Du's vielleicht mal
so probieren:

<?
$htm = "qörgl baloba, rintintin
        nargcks <a href='http://www.zuppa_pavese.htm'>zuppa_pavese</a> globsch
        zuppa_pavese zwittscher <a href='http://www.wunz.txt'>wunz</a> uiouiouio
        lölö wunzwunz müppl
        baloba qwerqwer rintintin ölöl
        <a href='http://www.rintintin.htm'>rintintin</a>
        rintintin
       ";

$w = '(zuppa_pavese|wunz|baloba|rintintin|o)';

$r = 'Fred ist doof';

$a = '</[aA]>';

print '<pre>';
print $htm."\n";
print preg_replace("/$w(?!$a|[^<>]+(>|$a))/", $r, $htm);
print '</pre>';
?>

gruß

werndt