Page 1 sur 1

retrouver un lien hypertexte dans du texte

Posté : 28 mars 2012, 17:39
par fredericdelisle
Je suis débutant. Je ne sais pas s'il existe une solution à mon problème.
Je récupère sur mon site via un livre d'or, du texte que je stocke dans une base de données MySQL.
J'ai réussi à me débarrasser des accents avec une formule trouvée sur internet.
Mais voilà mon problème ; dans le texte il y a des liens hypertextes. Existe-t-il une possibilité de les faire apparaître sur mon site en lien hypertexte.
J'espère avoir été assez clair dans mes explications....
Merci d'avance.

Re: retrouver un lien hypertexte dans du texte

Posté : 28 mars 2012, 21:09
par albat
Tout d'abord, tu dois être sûr de pouvoir identifier tous les liens présents, sans erreur ni oubli.

Le protocole "http://" est facilement repérable,
mais si le lien est écrit sous la forme "https://" ou directement "www.google.fr", tu passes à côté.

Tu peux alors choisir d'identifier le sous-domaine "www."
mais là encore, si le lien est écrit sous la forme "forum.phpfrance.com", tu passes à côté.

Le plus simple serait d'imposer en amont une convention d'écriture à ceux qui veulent inscrire une URL.
Genre : la précéder d'un caractère spécifique (£ ou µ, par exemple...)
Ce sera plus facile à repérer.

Re: retrouver un lien hypertexte dans du texte

Posté : 28 mars 2012, 22:01
par fredericdelisle
<div class="affiche"style="top:510px;background-color:#FF6600;">
		   monsieur romaire
		   a &egrave;crit le 16/12/2011
		 		<div class="texte"> 
				  Bonjour, J'ai eu la chance de participer a la randoween cette annee et en ai redige un compte-rendu sur mon blog. http://running.sebrom.org/2011/12/randoween-2011.html#more Merci encore pour cette manifestation sympathique et agreable! Sportivement Sebastien <br>
				  		 		</div>
Merci de ta réponse; J'arrive bien à les identifier, mais ensuite comment leur mettre un lien hypertexte sachant que cela vient de MySQL, d'un champ TEXTE en Latin 1
Merci

Re: retrouver un lien hypertexte dans du texte

Posté : 28 mars 2012, 22:48
par albat
Pour chaque URL que tu identifies dans le texte, tu peux appeler une fonction spécifique.
Genre :
function linker($url)
{ return '<a href="'.$url.'">'.$url.'</a>';
}

Re: retrouver un lien hypertexte dans du texte

Posté : 29 mars 2012, 17:10
par fredericdelisle
Malgré tes conseils, je galère encore.

J'ai essayé cela :
<?php
  $texte='Bonjour J ai eu la chance de participer a la randoween cette annee et en ai redige un compte-rendu sur mon blog.http://running.sebrom.org/2011/12/randoween-2011.html  Merci encore pour cette manifestation sympathique et agreable! Sportivement Sebastien' ;
  
    $brute = array();
    $brute[0] = '/http/';
    $brute[1] = '/.html/';                                          
    $brute[2] = '/.php/';

    
    $replacements = array();
    $replacements[0] = '<a href="http';
    $replacements[1] = '.html">';
    $replacements[2] = '.php">';

echo preg_replace($brute, $replacements, $texte);

cela marcherait, mais je n'arrive pas à copier le lien.

j'ai trouvé aussi ça, mais je n'arrive pas à le mettre en forme :
<?php

  string orig = 'Bonjour J ai eu la chance de participer a la randoween cette annee et en ai redige un compte-rendu sur mon blog.http://running.sebrom.org/2011/12/randoween-2011.html  Merci encore pour cette manifestation sympathique et agreable! Sportivement Sebastien' ;
  string debut='http';
  string fin='html';   
  
 public string RemplaceChaineEntre(string orig, string debut, string fin, string remplacement) {
   string pattern = string.Format("({0})(.*)({1})", debut, fin);
   Regex regex = new Regex(pattern, RegexOptions.Singleline);

   return regex.Replace(orig, "$1" + remplacement + "$3");
}
  function linker($url)
{ return '<a href="'.$url.'">'.$url.'</a>';
}