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