Ich habe mehrere relative Links, die in einer Zeichenfolge enthalten sind. Ich möchte aber auch alle Links durch eine einfache javascript:alert("Sorry You Cannot Do That.")
ersetzen und ich möchte keine absoluten Pfade wie http://google.com
nur die relativen Pfade wie /conf/bin.html
ändern. HierPHP Regex ersetzen lokale relative Pfade
ist ein Beispiel-Code-Snippet:
$pattern = "/<a(.*) href='\/(.*)'(.*)>reply</a>/";
$string = "<a target='_blank' href='/conf/bin?post=5760627b29ba0' name='bin' id='bin' class='bin' title='Hide From Feed'></a>
wow
<a target='_blank' href='/conf/bin?post=5760627b29ba0' name='bin' id='bin' class='bin' title='Hide From Feed'></a> wow";
while (preg_match($pattern, $string)){
$string = preg_replace($pattern, "<tr><td align='right'><a href='javascript:alert(" . chr(34) . "Sorry You Cannot Do That" . chr(34) . ")' style='text-decoration:none;'>reply</a>", $string);
}
Und ich möchte, dass die Zeichenfolge, um am Ende als:
$string = "<a target='_blank' href='javascript:alert(" . chr(34) . "Sorry You Cannot Do That" . chr(34) . ")' name='bin' id='bin' class='bin' title='Hide From Feed'></a>
wow
<a target='_blank' href='javascript:alert(" . chr(34) . "Sorry You Cannot Do That" . chr(34) . ")' name='bin' id='bin' class='bin' title='Hide From Feed'></a> wow";
kann jemand helfen. Danke
Ich würde einen Parser dafür verwenden. – chris85
@ chris85 kannst du mir zeigen wie? – Achmed
Was ist das erwartete Verhalten einer absoluten URL zu Ihrer Domain? Lassen Sie sie so wie sie ist? – chris85