<?

// ------------------------------------------------------------------------- //
// Convertit les chaînes du type <Texte pour le lien;http://www.lelien.com/> //
// par la balise HTML correspondante.                                        //
// ------------------------------------------------------------------------- //
// Auteur: Bertrand Zuchuat                                                  //
// Email:  bertrand.zuchuat@plugin.ch                                        //
// ------------------------------------------------------------------------- //

function active_link($string) {

  
$sortie = "";
  
$texte = "";

  do {

    
// Calcul de la longueur de la chaine
    
$longueur = strlen($string);

    
// recherche du caractère <
    
$posA = strpos($string, "<");

    if (
$posA != 0) {

      
// recherche du caractère >
      
$posB = strpos($string, ">");

      
// Sélection de la chaine entre <>
      
$valeur = substr($string, $posA+1,$posB-$posA-1);

      
// récupération du texte précédant le lien
      
$buffer .= substr($string, 0, $posA);

      
// Récupération de reste de la chaine de caractère
      
$textenew = substr($string, $posB+1, $longueur);

      
// récupération du texte avant le lien
      
$valeurA = substr($valeur, $pos, strpos($valeur, ";"));

      
// récupération du texte avec le lien
      
$valeurB = substr($valeur, strpos($valeur, ";")+1, strlen($valeur));

      
// Création de l'URL avec les données récupérées et traitées.
      
$buffer .= "<a href=\"$valeurB\" class='lien' target=\"_blank\">$valeurA</a>";

      
// Transfert de la nouvelle chaine dans la variable $ChaineA
      
$string = $textenew;

    } else {
      
      
$buffer .= $string;
      
$longueur = 0;

    }

  } while(
$longueur != 0);

  
// Envoi du contenu traité
  
return nl2br(stripslashes($buffer));

}

if (!isset(
$demoTexte)) {
  
$demoTexte  = "Visitez <phpInfo.net;http://www.phpinfo.net/>, le site ";
  
$demoTexte .= "d'information <PHP;http://www.php.net/> / <MySQL;http://";
  
$demoTexte .= "www.mysql.com/>.";
} else
  
$demoTexte = stripslashes($demoTexte);

echo
"<FORM METHOD=POST ACTION=''>";
echo
"<B>Texte à rendre cliquable</B><BR>";
echo
"<TEXTAREA NAME='demoTexte' ROWS='6' COLS='30' WRAP=VERTICAL>";
echo
htmlspecialchars($demoTexte)."</TEXTAREA>\n";
echo
"<BR><BR>&nbsp;&nbsp;<INPUT TYPE='submit' VALUE='Go !'><BR><BR>";

if (
$demoTexte != "") {

  echo
"<B><U>Texte modifié</U></B><BR>";
  echo
active_link($demoTexte);

}

echo
"</FORM>";

?>