[PHP] recuperer des liens dans un texte

Résolu/Fermé
baborge Messages postés 93 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 22 septembre 2012 - 27 avril 2008 à 14:07
baborge Messages postés 93 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 22 septembre 2012 - 27 avril 2008 à 14:49
Bonjour à toutes & tous,

je travail avec PHP

je cherche a extraire d'un texte que je mets dans un textarea, les liens hypertext

j'ai trouver comment les mettre en forme (mais dans le textarea les liens ne sortent pas bien):


function replaceLinks($text) {
$text = ereg_replace('[-a-z0-9!#$%&\'*+/=?^_`{|}~]+@([.]?[a-zA-Z0-9_/-])*', '<a href="mailto:\\0">Email</a>',$text);
$text = ereg_replace('[a-zA-Z]+://(([.]?[a-zA-Z0-9_/-])*)', ' <a href="\\0" target=\"_blank\"><b>liens</b></a>',$text);
$text = ereg_replace('(^| )(www([-]*[.]?[a-zA-Z0-9_/-?&%])*)', ' <a href="[http://]\\2" target=\"_blank\"><b>liens</b></a>',$text);
return $text;
}


ce que je voudrais faire: extraire les adresses presentent dans le texte pour créer des liens en dessous du textarea?

si qqun a une idée, je suis preneur

merci d'avance,
Laurent

1 réponse

baborge Messages postés 93 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 22 septembre 2012 33
27 avril 2008 à 14:49
Re,

function replaceLinks($text) {
$text = ereg_replace('[-a-z0-9!#$%&\'*+/=?^_`{|}~]+@([.]?[a-zA-Z0-9_/-])*', '<a href="mailto:\\0">Email</a>',$text);
$text = ereg_replace('[a-zA-Z]+://(([.]?[a-zA-Z0-9_/-])*)', ' <a href="\\0" target=\"_blank\"><b>liens</b></a>',$text);
$text = ereg_replace('(^| )(www([-]*[.]?[a-zA-Z0-9_/-?&%])*)', ' <a href="http://\\2" target=\"_blank\"><b>liens</b></a>',$text);
$recherche = preg_match_all("|<[^>]+>(.*)</[^>]+>|U", $text, $out, PREG_PATTERN_ORDER);
$textR = "Liens présents: ";
for ($i=0;$i<$recherche;$i=$i+1){
$textR .= $out[0][$i] . " - ";
}
$textR .= "\n";
return $textR;

}


si cela peut servir à qqun

voila la solution que je viens de trouver....

A bientôt,
Laurent
1