Transformer du texte en lien html

0/5 (2 avis)

Snippet vu 14 038 fois - Téléchargée 29 fois

Contenu du snippet

Voici une fonction qui est en fait la compilation de 3 sources trouvées ci et là.

Elle permet de transfomer tout http, www, ftp, en fait n'importe quoi au format xxx://xxx en lien html, de même que tout mail, même s'il comprend des points et des tirets.

Source / Exemple :


<?php
function lienhtml($message)
{
 global $message;
 
 $message = eregi_replace (":alpha:+://www", "www",$message);
 
 $message = ereg_replace (":alpha:+://[^<>[:space:]]+[[:alnum:]/](\.[a-z0-9-]{2,4})+", "<a href=\\0 target=_blank>\\0</a>", $message);
 $message = ereg_replace ("www.[^<>[:space:]]+[[:alnum:]/](\.[a-z0-9-]{2,4})+", "<a href=http://\\0 target=_blank>\\0</a>", $message);
 $message = ereg_replace ('[_a-zA-z0-9\-]+(\.[_a-zA-z0-9\-]+)*\@' . '[_a-zA-z0-9\-]+(\.[a-zA-z]{1,3})+', '<a href="mailto:\\0">\\0</a>', $message);
 
 return $message;
} 
?>

A voir également

Ajouter un commentaire Commentaires
JulioDelphi
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
28 janv. 2005 à 18:04
et voici une belle source :
http://fr2.php.net/manual/fr/function.eregi-replace.php
magnifique ! qui me mets 10/10 ?
cs_Pill_S
Messages postés
3
Date d'inscription
dimanche 3 octobre 2004
Statut
Membre
Dernière intervention
28 janvier 2005

28 janv. 2005 à 16:23
Hello,

merci pour ton code, qui fonctionne pas trop mal... j'ai juste un problème, c'est que si le lien contient des '/' après le nom de domaine (par exemple http://domain.com/index.php) et bien la partie qui suit le slash n'est plus contenue dans le lien (donc index.php)....

Aurais-tu une petite mise à jour pour supprimer ce problème ? ;-)

Merci !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.