[PHP/MySQL] Afficher les liens dans les messages.

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
je suis en train de développer un petit forum en PHP/MySQL.
Et là je suis face à un petit problème que j'arrive pas à résoudre.
Je m'explique.
Quelqu'un se connecte et veut poser une question sur le forum.
Si dans sa question il met un lien genre www.google.fr, ça insère dans la base de données sans problème.
Mais, quand j'affiche le message qu'il a posté, le lien n'est pas reconnu comme étant un lien : on ne peut pas cliquer dessus.
Comment faire pour que le lien s'affiche comme un lien hypertexte ? Y'a-t-il une fonction php pour ça ?

Par exemple, si j'écris " https://www.google.fr/?gws_rd=ssl ", vous voyez un lien. Vous pouvez cliquer dessus.
Comment faire pareil ?
Merci pour votre aide ! ^^
A voir également:

5 réponses

Yorundr Messages postés 289 Date d'inscription   Statut Membre Dernière intervention   44
 
tu peut faire un truc du style

<a href="https://www.google.fr/?gws_rd=ssl">http://www.google.fr</a>

et ca ca marchera
0
A.Nonymous
 
Erf ...
Pour faire ça de manière automatique, il faut procéder aux expression régulières :
Si une chaine est de la forme "http://domaine/" il faut remplacer par "<a href=url>url</a>".
C'est ce qui me semble être la piste à suivre.
0
Utilisateur anonyme
 
Mouais, c'est malheureusement bien ce que je pensais... J'essayais de me renseigner pour voir si par hasard, il n'y avait pas une fonction qui le faisait... Ca m'aurait éviter la manipulation de chaînes...
Si vous avez d'autres idées, je suis toute ouïe ! ^^

En tous cas merci de votre aide !
0
2napot Messages postés 29 Date d'inscription   Statut Membre Dernière intervention  
 
Essaie ce bout de code
ca marche chez moi!!

it's home made : c'est à dire fait à la maison

<?php

function lien($s){
return "<a href='$s'>$s</a>";
}

function est_lien($s){
$p = strpos($s, "http://");
if($p !== false) return true;
return false;
}

$s="https://www.google.com/?gws_rd=ssl mail mon adresse est http://www.mail.yahoo.fr";
$r = explode(" ", $s);
for($i = 0; $i < count($r); $i++){
if(est_lien($r[$i])) $r[$i] = lien($r[$i]);
}
echo implode(" ", $r);
?>

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Merci à tous ! Problème résolu.
J'ai fait une recherche dans mon texte du tout ce qui commençait par http:// et j'ai mis <a href devant en fermant par </a> et ça marche !

Merci encore !
0