|
Links und E-Mail Adressen klickbar machen |
|
|
Links und E-Mail Adressen klickbar machen Du hast einen langen Text der Links und E-Mail Adressen enthält. Mit einer einfachen Funktion kannst du die Links und E-Mail Adressen erkennen und zu klickbaren Links umwandeln. Kann man gut in Foren oder Gästebucheinträgen brauchen.
<?php function makeLink($string) { $string = str_replace("http://www.","www.", $string); $string = str_replace("www.","http://www.", $string); $string = ereg_replace('[_a-zA-z0-9-]+(.[_a-zA-z0-9-]+)*@([._a-zA-Z0-9-])+.([a-zA-Z]{2,4})+','mailto:/0',$string); $url_patterns = array( // @link http://internet.ls-la.net/folklore/url-regexpr.html 'http' => "(?:https?://(?:(?:(?:(?:(?:[a-zA-Zd](?:(?:[a-zA-Zd]|-)*[a-zA-Zd])?).)*(?:[a-zA-Z](?:(?:[a-zA-Zd]|-)*[a-zA-Zd])?))|(?:(?:d+)(?:.(?:d+)){3}))(?::(?:d+))?)(?:/(?:(?:(?:(?:[a-zA-Zd$-_.+!*'(),]|(?:%[a-fA-Fd]{2}))|[;:@&=])*)(?:/(?:(?:(?:[a-zA-Zd$-_.+!*'(),]|(?:%[a-fA-Fd]{2}))|[;:@&=])*))*)(?:?(?:(?:(?:[a-zA-Zd$-_.+!*'(),]|(?:%[a-fA-Fd]{2}))|[;:@&=])*))?)?)", 'ftp' => "(?:ftp://(?:(?:(?:(?:(?:[a-zA-Zd$-_.+!*'(),]|(?:%[a-fA-Fd]{2}))|[;?&=])*)(?::(?:(?:(?:[a-zA-Zd$-_.+!*'(),]|(?:%[a-fA-Fd]{2}))|[;?&=])*))?@)?(?:(?:(?:(?:(?:[a-zA-Zd](?:(?:[a-zA-Zd]|-)*[a-zA-Zd])?).)*(?:[a-zA-Z](?:(?:[a-zA-Zd]|-)*[a-zA-Zd])?))|(?:(?:d+)(?:.(?:d+)){3}))(?::(?:d+))?))(?:/(?:(?:(?:(?:[a-zA-Zd$-_.+!*'(),]|(?:%[a-fA-Fd]{2}))|[?:@&=])*)(?:/(?:(?:(?:[a-zA-Zd$-_.+!*'(),]|(?:%[a-fA-Fd]{2}))|[?:@&=])*))*)(?:;type=[AIDaid])?)?)", 'mailto' => "(?:mailto:(?:(?:[a-zA-Zd$-_.+!*'(),;/?:@&=]|(?:%[a-fA-Fd]{2}))+))" ); $pattern = '/(' . addcslashes($url_patterns['http'], chr(0x2F)) . '|' . addcslashes($url_patterns['ftp'], chr(0x2F)) . '|' . addcslashes($url_patterns['mailto'], chr(0x2F)) . ')/'; $string = preg_replace($pattern, '<a href="\1">\1</a>', $string); return $string; } $newtext = "Das ist ein langer Text der einen Link www.google.com und eine E-Mail Adresse
Diese E-Mail Adresse ist gegen Spam-Bots geschützt, Sie müssen Javascript aktivieren, damit Sie es sehen können
enthält."; echo makeLink($newtext); ?> |
|
Kommentare
Zur Zeit keine Kommentare eingetragen |
Um einen Kommentar zu hinterlassen musst du dich einloggen!