Reperer un lien dans un texte

Résolu
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
Configuration: Windows Vista
Firefox 2.0.0.12

5 réponses

  1. 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
    1. 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
      1. 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
        1. 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
          1. $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