quasi_modem: Suchen und an anderer Stelle "ersetzen"

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

  1. 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.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
    Das Motto des SELFForums ist das _self_made, also das selbermachen. Deshalb sollte man bevor man irgendetwas fragt, immer erst öffentliche Quellen zu Rate ziehen!
    1. 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.

      --
      Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
      Schon gewusst, dass Bugs und Feature Vorschläge für das CForum ins Entwicklerforum oder in den BugTracker gehören und nicht hier her?
  2. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes