disign.it | PHP: rendere cliccabili mail e link provenienti da un testo | a digital sign for a best design!
A digital sign for a best design
Programmazione 5.511 visualizzazioni

PHP: rendere cliccabili mail e link provenienti da un testo

27/03/2012

Attraverso Php possiamo filtrare un contenuto di testo (immesso attraverso CMS o estratto da database, ad esempio), rilevare tutte le stringhe che indicano una mail o un sito web e rendere le stesse automaticamente cliccabili.

La funzione che presento oggi ha la particolarità di non utilizzare il classico eregi_replace oramai deprecato e che sarà abbandonato dalle prossime versioni di PHP. Al suo posto preg_replace, di cui segnalo la necessità di delimitare la reg exp con / in apertura  e chiusura, l'utilizzo del parametro finale i ad indicarne la recursività e la necessità dell'escape prima dei caratteri speciali inseriti.

Ecco la funzione:

 

function cliccabili($testo) {
    $testo = preg_replace('/(((f|ht){1}tp:\/\/)[-a-zA-Z0-9@:%_+.~#?&\/\/=]+)/i',     '<a href="\\1">\\1</a>', $testo);
    $testo = preg_replace('/([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&\/\/=]+)/i',     '\\1<a href="http://\\2">\\2</a>', $testo);
    $testo = preg_replace('/([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})/i',  '<a href="mailto:\\1">\\1</a>', $testo);

← Jquery: tooltip personalizzabili PHP: preg_replace per eliminare link o tag indesiderati in testo immesso →

Invia una domanda o un commento sull'articolo

I campi obbligatori sono segnalati *

*

*



 

© 2009 - 2017 Impronte digitali di Luca Frassineti. Tutti i diritti riservati.