Regex Text-Links automatisch umwandeln
Zwiebelring2000
- php
Hallo!
Ich habe ein paar Probleme. Wenn ich einen Textbaustein habe
$text='
Meine Webseite: www.domain.de
Meine E-Mail: mueller@domain.de
';
und die Ausgabe so aussehen soll:
$text='
Meine Webseite: <a href="http://www.domain.de">www.domain.de</a>
Meine E-Mail: <a href="mailto:mueller@domain.de">mueller@domain.de</a>
';
dann kann ich das ja mit Regulären Ausdrücken suchen und ersetzen. Aber ich finde die passenden Ausdrücke nicht.
$suche = array(
'/([\w-?&;#~=./]+@([?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,3}|[0-9]{1,3})(]?))/i',
'/([\w\d+-]+.[\w\d+-/.]+)/i'
);
$ersetze = array(
'<a href="mailto:$1">$1</a> ',
'<a href="http://$1" target="_blank">$1</a> '
);
$text = preg_replace($suche,$ersetze,$text);
Das funktionier aber nicht wirklich.
Könnt ihr mir da helfen?
Ich habe ein paar Probleme. Wenn ich einen Textbaustein habe
$text='
Meine Webseite: www.domain.de
Meine E-Mail: mueller@domain.de
';und die Ausgabe so aussehen soll:
$text='
Meine Webseite: <a href="http://www.domain.de">www.domain.de</a>
Meine E-Mail: <a href="mailto:mueller@domain.de">mueller@domain.de</a>
Könnt ihr mir da helfen?
Nein, noch nicht.
Bitte gib uns erstmal mehr Infos darüber, wie genau die Textbausteine sich verändern. Bleibt das "Meine Webseite: " immer gleich? Ist die Domain aus "www.%domainname%.de" aufgebaut oder gibt es auch andere Endungen ".com" oder andere Subdomains "www2." usw.
Hello,
habe da eine Funktion aus einem alten Projekt...
function textfilter($text,$filter)
{
if (!is_array($filter))
{
$filter = explode(",",$filter);
}
if(in_array('email',$filter))$text = ereg_replace("mailto:[^<>[:space:]]+[[:alnum:]/]","<a href="\0">\0</a>", $text);
if(in_array('http',$filter))$text = ereg_replace("http://[^<>[:space:]]+[[:alnum:]/]","<a href="\0" target="_blank">\0</a>", $text);
if(in_array('ftp',$filter))$text = ereg_replace("ftp://[^<>[:space:]]+[[:alnum:]/]","<a href="\0">\0</a>", $text);
return $text;
}
Sinn der Übung war es, wenn im String $filter z.B. "email,http" drin stand, dann sollten alle gefundenen URLs und alle eMail-Namen aktiv dargestellt werden...
Vielleicht hilft es Dir weiter.
Neu nachdenken mag ich heute nicht wirklich. :-(((
Das hat aber nichts mit Dir zu tun!
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom