Reperer un lien dans un texte

Résolu/Fermé
IdleMan Messages postés 243 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juin 2012 - 16 mars 2008 à 13:38
IdleMan Messages postés 243 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juin 2012 - 17 mars 2008 à 13:30
Salut,
J'aimerais faire un livre d'or très simple qui repère automatiquement les liens commencant par http:// dans le texte posté et qui le transforme automatiquement en lien , seulement je ne vois pas comment reperer les liens , je ne connais pas toutes les fonctions php pour traiter les chaines mais je suis sur que ça existe j'en ai déjà vu sur certains sites .

Quelqu'un pourrais t'il me venir en aide ?

Merci d'avance

5 réponses

balou01 Messages postés 83 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 3 décembre 2014 2
16 mars 2008 à 14:58
$pattern = #http://[a-z0-9.-_]+\.[a-z]{2,4}/#

$var = $_POST['ta_variable_a_traiter'];
str_replace(preg_match($pattern, $var), '<a href="'.preg_match($pattern, $var).'" title="'.preg_match($pattern, $var).'">'.preg_match($pattern, $var).'</a>',$var);

essai ca sans garantis ! ;)
0
IdleMan Messages postés 243 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juin 2012 60
17 mars 2008 à 12:45
Salut :p ,
Merci beaucoup pour ta reponse , malheureusement ça n'a pas l'air de marcher , j'ai mis le code suivant pour tester :

<?

$pattern = "#http://[a-z0-9.-_]+\.[a-z]{2,4}/#";
$texte="blab lablabl ablabl http://www.idlewave.com blablablala";
$var = $texte;
str_replace(preg_match($pattern, $var), '<a href="'.preg_match($pattern, $var).'" title="'.preg_match($pattern, $var).'">'.preg_match($pattern, $var).'</a>',$var);

echo $var ;


?>

et ça m'ecris la phrase d'origine dsans le lien .
0
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
17 mars 2008 à 12:51
Salut,

Peut-être ici (je n'ai pas testé)
http://www.commentcamarche.net/faq/sujet 891 php transformer une url en lien hypertexte cliquable
0
IdleMan Messages postés 243 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juin 2012 60
17 mars 2008 à 13:25
Merci beaucoup pour toutes vos reponses , j'ai testé un code derivé de celui de balou01 en attendant les reponses , il semble qu'il marche , mais je vais tester celui du tutos voir si il est plus simple , le mien me aprais compliqué , merci a vous deux .


ps: Mon code actuels qui marche pour ceux que ça interesse :

$html = 'salut , je te conseille d\'aller sur https://www.commentcamarche.net/ parce que c\'est pas mal';

preg_match_all("#http://[a-z0-9.-_]+\.[a-z]{2,4}/#", $html, $matches, PREG_SET_ORDER);

foreach ($matches as $val) {
$html = str_replace($val[0],"<a href='".$val[0]."'>".$val[0]."</a>",$html) ;

}
echo $html;
0

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

Posez votre question
IdleMan Messages postés 243 Date d'inscription jeudi 17 janvier 2008 Statut Membre Dernière intervention 25 juin 2012 60
17 mars 2008 à 13:30
Bon finalement je vais garder mon code , parce qu'avec celui du tutos ça donne ça :

http://kgftp.free.fr/http/test.php


Merci encore pour votre aide : )
0