Riconoscere e creare link Web e Mail

Un applicazione pratica del precedente post. Questa funzione prende in input un testo, riconosce indirizzi mail e web e crea automaticamente i link

function MakeLinkInText($text) {

// funzione di trattamento del testo in visualizzazione

// prende un testo, cerca mail e indirizzi web, e li linka

// si presuppone che il testo sia gia pronto e non da de-quotare

$ta = explode(” “,$text);

foreach( $ta as $key => $value) {

if (eregi(“^([a-z0-9]|\\-|\\.)+@(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$”, $ta[$key])) {

// match per email

$ta[$key] = “<a href=’mailto:”.$ta[$key].”‘>”.$ta[$key].”</a>”;

}

if (eregi(“^(www.|\\WWW.)+(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$”, $ta[$key])) {

// match per web senza protocollo

$ta[$key] = “<a href=’http://”.$ta[$key].”‘>”.$ta[$key].”</a>”;

}

if (eregi(“^(http://www.|\\http://WWW.)+(([a-z0-9]|\\-)+\\.)+[a-z]{2,4}$”, $ta[$key])) {

// match per web con protocollo

$ta[$key] = “<a href='”.$ta[$key].”‘>”.$ta[$key].”</a>”;

}

}

$text = implode(” “,$ta);

return $text;

}