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

Résolu/Fermé
Utilisateur anonyme - 17 mai 2009 à 21:10
 Utilisateur anonyme - 4 juin 2009 à 09:41
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 mardi 31 octobre 2006 Statut Membre Dernière intervention 11 juin 2012 44
17 mai 2009 à 22:48
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
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
18 mai 2009 à 15:13
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 lundi 2 février 2009 Statut Membre Dernière intervention 18 mai 2009
18 mai 2009 à 16:26
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
4 juin 2009 à 09:41
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