PHP preg_replace Frage zur Regex

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_preg_replace_frage_zur_regex_176879/page_1 - zur Vollversion wechseln!


kleinerChemiker schrieb am 24.02.2007 um 21:06

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?

Code:
/(<a)( [a-z0-9_\-\/\."]*href="?' . trim($hosts[$i]) . '[a-z0-9_\-\/\."]*\.' . trim($extensions[$j]) . '"?[a-z0-9_\-\/\."]*>)/si

Ersetzen will ich es dann durch

Code:
\\2 onclick="jsevent()"\\3

tia

MIK


mat schrieb am 24.02.2007 um 21:31

ü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 schrieb am 25.02.2007 um 16:07

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.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026