Suchen und an anderer Stelle "ersetzen"
quasi_modem
- programmiertechnik
Hallo,
ich möchte gerne wissen, ob man folgendes mit einem regulären Ausdruck lösen kann:
Aus einem HTML-Link den Links selbst im href-Attribut suchen und dann aber den Text zwischen dem öffnenden und schließenden a-Tag ersetzen.
Also:
<a href="http://www.xxxxx.de">alter Text</a>
Suche nach http://www.xxxxx.de und ersetze "alter Text" damit.
Und dies auch, wenn n Links im Dokument vorkommen....
Geht sowas?
Sonnige Grüße,
quasi_modem
Hi quasi_modem,
Aus einem HTML-Link den Links selbst im href-Attribut suchen und dann aber den Text zwischen dem öffnenden und schließenden a-Tag ersetzen.
<a href="http://www.xxxxx.de">alter Text</a>
Suche nach http://www.xxxxx.de und ersetze "alter Text" damit.
In welcher Programmiersprache programmierst du? In PHP sollte es so gehen:
preg_replace("/<a href=\"(.*)\">([^<]*)<\/a>/", "<a href=\"$1\">$1</a>", $string);
Habs nicht getestet - müsste aber theoretisch so funktionieren ;-)
Müsste man nur noch eventuell erweitern, falls in <a> auch noch andere Attribute vorkommen.
MfG, Dennis.
Hi quasi_modem,
preg_replace("/<a href=\"(.*)\">([^<]*)<\/a>/", "<a href=\"$1\">$1</a>", $string);
Für das (erste)
(.*)
wäre vielleicht besser:
([^"]*)
" muss natürlich escaped werden ;-)
MfG, Dennis.
Hi,
ich möchte gerne wissen, ob man folgendes mit einem regulären Ausdruck lösen kann:
ja - im Einzelfall. Regular Expressions sind definitiv kein geeignetes Mittel, um mit Strukturen umzugehen. Sie können allenfalls als Hilfe eingesetzt werden; beispielsweise dann, wenn Du garantierst, dass der zu bearbeitende Text definitiv nur einen Link mit definitiv keiner weiteren enthaltenen Struktur darstellt.
Cheatah