Regulärer Ausdruck gesucht: HTML-Link-Tag in Plain Text
Denis W.
- php
Hallo!
Ich hab den Besen gefressen mit diesen regulären Ausdrücken. Vielleicht kann mir jemand eine Lösung notieren:
Aufgabe:
Ich möchte eine Druckansicht in PHP realisieren. In einer Variablen (nennen wir sie $sHtmStr) steht der gesamte HTML-Text. Der soll auch so erhalten bleiben, bis auf folgendes:
Die Links, z. B.
'<a href="/berichte/text.htm">Testlink</a>'
'<a href="http://www.heise.de" target="_blank">heise online</a>'
sollen (ohne Verlinkung) ersetzt werden, und zwar in
'Testlink (/berichte/text.htm)' bzw.
'heise online (http://www.heise.de)'
Also es sollen praktisch alle möglichen A-Tag-Varianten gefunden werden. Vorgegeben ist, dass sie grundsätzlich alle mit '<a href="' beginnen. Dir URL ist immer in doppelten Anführungszeichen eingefasst. Alle weiteren Attribute (traget, title usw.) sollen ignoriert werden.
Hat jemand einen regulären Ausdruck parat? Am liebsten mit preg_replace() ...
Das wäre echt klasse!
Ciao
Denis
Hallo Dennis.
Ist zwar (soweit ich das gesehen habe) noch nicht exakt, was Du suchst, dürfte Dir aber wohl schon mal weiterhelfen: http://www.dclp-faq.de/q/q-regexp-links-finden.html
Grüße aus Würzburg
Julian
Hallo Denis,
'<a href="/berichte/text.htm">Testlink</a>'
'<a href="http://www.heise.de" target="_blank">heise online</a>'sollen (ohne Verlinkung) ersetzt werden, und zwar in
'Testlink (/berichte/text.htm)' bzw.
'heise online (http://www.heise.de)'
warum verwendest du nicht einfach ein extra Stylesheet für die Druckausgabe (->http://aktuell.de.selfhtml.org/tippstricks/css/drucklayout/index.htm)? Dann würde es nämlich:
a { text-decoration:none; color:#000; /*bzw. deine Textfarbe*/ }
a:after { content:' ('attr(href)')'; }
völlig tun (ok, der IE ist dazu nicht in der Lage ...)
Grüße aus Nürnberg
Tobias