PHP preg_replace Frage zur Regex
kleinerChemiker 24.02.2007 - 21:06 526 2
kleinerChemiker
Here to stay
|
Ich will einen Text durchsuchen und Links auf Dateien finden. Dafür habe ich ein Array mit erlaubten Hosts und ein Array mit den zu findenden Extensions. Ziel ist es nach dem "<a" ein onclick-Event hinzuzufügen. Dazu habe ich diese Regex gebastelt, kann die passen? Oder gibt es eine bessere Lösung dafür? /(<a)( [a-z0-9_\-\/\."]*href="?' . trim($hosts[$i]) . '[a-z0-9_\-\/\."]*\.' . trim($extensions[$j]) . '"?[a-z0-9_\-\/\."]*>)/si
Ersetzen will ich es dann durch \\2 onclick="jsevent()"\\3
tia MIK
|
mat
AdministratorLegends never die
|
überprüf es mit dem Regex Buddy oder "The Regulator" (freeware). prinzipiell wäre es besser wenn du jeden link über eine zentrale stelle laufen lassen würdest, die dann je nach input richtig weiterleitet. also quasi <a href="/link.php?host=123&resource=bla.gif" ..>
|
gue
Addicted
|
Nur so eine Idee: Du könntest das ganze auch mit Javascript lösen: Alle <a>s mit document.getElementByTagName herausfinden und dann zu allen passenden ein onclick event hinzufügen. Im Javascript selbst müssten einfache String-Vergleiche reichen. Dadurch müsstest du nicht am Server die Texte mit vielen dieser Regexen absuchen sondern könntest die Arbeit auf den Client abwälzen.
|