Regulärer Ausdruck

Hallo,

ich möchte bestimmte Wörter in einem Text durch einen anderen Code austauschen . z.B. damit

Code:
preg_replace(
									"/(".$rs->name.")( |,|.| )/i",

Nun tauscht er leider auch Wörter auf die in einem Link bzw in dessen Übergabeparametern auftauchen. Wie kann ich dieses ausfiltern? Also z.B. alles was zwischen <a und </a> steht soll beim Codeaustausch nicht berücksichtig werden? Leider bin ich mit regulären Asudrücken noch nicht ganz so geübt:) Hoffe das mir jemand helfen kann.
 
Zuletzt bearbeitet:
Hallo,

bringt leider nix:( Der link in dem das KEyword enthalten ist, wird immer noch gefiltert und mit dem Austauschcode versehen:(

Ich habe mal sowas versucht aber das funktioniert auch nicht:( Ne Idee?

"/^(<a +?href.*?>)(".$rs->name.")( |,|.|&nbsp;)^(<\\ *?a *?>)/i",
 
Zuletzt bearbeitet:
Hallo,

ich habs mal hiermit versucht

Code:
"/(<.*a.*href.*)(".$rs->name.")( |,|.|&nbsp;)(.*<\/.*a>)/i",

Das funktioniert genau "andersrum" Also jetzt werden immer nur die Links ausgewertet. Wie kann ich das nun negieren? Also das er genau die anzeigt die eben den Anfang und das Ende nicht besitzen? ^ scheint irgendwie nicht zu klappen:(
 
Hallo,

danke. Das scheint jetzt so garnichtd as richtige zu sein:) Es scheint den ganzen Text einer Zeile auszutauschen wenn er einen text findet:( Das ist nicht gewollt:) Er soll ja nur das gefundene Wort austasuchen:)

ANscheined erzeugt er auch noch extra Links aus einemLink. Er lässt zwar den eigentlichen Link in Ruhe aber erzeugtdanach den Codeaustausch:(

Über ne kurze Erklärung wäre ich dankbar um das ganze etwas zu verstehen:)
 
Zuletzt bearbeitet:
Zurück