Salut !
voilà c'est ma fonction pour convertir les liens dans un texte mais le problème c'est que quand je met plein d'espace entre les mots il me fait des retour ligne... je crois que ça viens de l'expression régulière mais je sais pas quoi changer help !
ou bien si vous connaissez une meilleur methode...
le code :
function url($msg)
{$codes[0] = "http://";
$codes[1] = "https://";
$codes[2] = "ftp://";
/* Le chaine de caractère devient un tableau *
* on découpe à chaque espace ou caractère de *
* fin de ligne*/
$expl = preg_split("[\s]",$msg));
$msg = "";
/* Recherche des URL dans les tableau */
for($i=0;$i < sizeof($expl);$i++)
{if ($expl[$i] == "" ) // Si la case ne contient rien,
$expl[$i] = "\n"; // on y met un retour ligne
// On recherche chaque codes dans chaque ligne
for ($c=0;$c < sizeof($codes);$c++)
if (! ($pos = strpos(strtolower($expl[$i]),$codes[$c])=== FALSE)) //Si on trouve le code dans la ligne
if ($pos == 0) //Et qu'il est en début de chaîne
$expl[$i] = "<a href=$expl[$i]>$expl[$i]</a>"; //On y met l'url
$msg .= " $expl[$i]"; //Reconstitution du message
}
return($msg);
}
[jfdsdjhfuetppo]--Message édité par Darxmurf le 15-05-2002 à 10:07:38--[/jfdsdjhfuetppo]
---------------
Des trucs - flickr - Instagram