3 // renvoie un texte html à partir d'un texte classique
4 // en remplacant les url par des liens (éventuellement les mails)
5 function url_catcher($texte, $mails = true
) {
7 $replacement = array();
9 // url commencant par http, https ou ftp
10 $patterns[] = '/((?:https?|ftp):\/\/(?:\.*,*[\w@~%$£µ&i#\-+=_\/\?;])*)/i';
11 $replacement[] = '<a href="\\0">\\0</a>';
13 // url commencant par www.
14 $patterns[] = '/(\s|^)www\.((?:\.*,*[\w@~%$£µ&i#\-+=_\/\?;])*)/i';
15 $replacement[] = '\\1<a href="http://www.\\2">www.\\2</a>';
18 $patterns[] = '/(?:mailto:)?([a-z0-9.\-+_]+@([\-.+_]?[a-z0-9])+)/i';
19 $replacement[] = '<a href="mailto:\\0">\\0</a>';
22 return preg_replace($patterns, $replacement, $texte);