Regulärer Ausdruck gesucht: a href (Link)
Christof
- php
Hallo,
ich suche einen regulären ausdruck mit dem ich einen link ersetzen kann.
Also etwa so:
$link=eregi_replace("<a href?????","<a href="neuer Link">",$alter_link);
Mir geht es also um den ersten Teil von eregi_replace.
Könnt Ihr mir weiterhelfen?
Danke
CHRISTOF
$link=eregi_replace("<a href?????","<a href="neuer Link">",$alter_link);
wenn ich dich richtig verstehe, dann...
$patterns[0] = '/<a href"neuerlink">/';
$replacements[0] = '<a href="defaultlink"';
$link= preg_replace($patterns, $replacements, $Variable_wo_der_alte_link_drin_steht);
the brain °!°
$link=eregi_replace("<a href?????","<a href="neuer Link">",$alter_link);
wenn ich dich richtig verstehe, dann...
$patterns[0] = '/<a href"neuerlink">/';
$replacements[0] = '<a href="defaultlink"';$link= preg_replace($patterns, $replacements, $Variable_wo_der_alte_link_drin_steht);
the brain °!°
Ja, so ungefähr schon...
Allerdings Such ich für die Fragezeichen einen regulären ausdruck...
("<a href?????",
Trotzdem Danke
hallo Christof,
Ja, so ungefähr schon...
Allerdings Such ich für die Fragezeichen einen regulären ausdruck...
Was ist denn "preg_replace()" anderes als ein Regulärer Ausdruck? Probier das erstmal aus, und schreib dann, wenns nicht funktioniert, die Fehlermeldungen her ...
Grüße aus Berlin
Christoph S.
Hallo, Christof,
zu regulären Ausdrücken kann ich Dir wenig sagen, da ich sie nicht ganz durchschaue.
Ich habe aber mal mit Hilfe von Codebestandteilen aus dem Netz eine Funktion zusammengebastelt, die Links und e-mail-Adressen klickbar macht. Vielleicht kannst Du damit was anfangen ...
Grüße,
Sebastian
-------------------- schnipp --------------------
function makeClickable($str)
{
// merged from several sources
// please send improvements to
// sebastian.becker@berlin.de
// add http:// to www.
// $str = str_replace(' www.',' http://www.',$str);
$str = str_replace('www.','http://www.',$str);
$str = str_replace('http://http://','http://',$str);
// pattern
$pattern = '#(^|[^"=]{1})(http://|https://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
// add <a href=""></a> to links, but not in <a></a>
$str = preg_replace($pattern,"\1<a href="\2\3" target="_blank">\3</a>\4", $str);
// replace mail addresses
$str = eregi_replace("(([a-z0-9-.]+)@([a-z0-9-.]+).([a-z0-9]+))","<a href="mailto:\0">\0</a>",$str);
return $str;
}
echo makeClickable("Die Domains www.google.com und www.google.de (beide ohne http://) sollten eigentlich <a href="http://www.google.de" target="_blank">www.google.de</a> (im Ursprungstext bereits verlinkt) und http://www.google.de (im Ursprungstext beide mit http://) geschrieben werden.<br><br>Post bitte an info@google.com<br><br>www, www., ftp., mailto:");
?>