Lister des liens / urls depuis un texte

Contenu du snippet

Ce code va repérer dans un texte tous les liens sous la forme http://...
Ils seront listés et formatés en html (cliquables).

Source / Exemple :


<?php

$texte = "

bla bla bla http://test1.fr/letest.htm
bla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla bla

bla bla bla http://www.test2.com
bla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla bla

bla bla bla https://www.test3.org/index.php
bla bla blabla bla blabla bla blabla bla bla
bla bla blabla bla blabla bla blabla bla bla

";

//pattern qui va repérer une url
//on s'arrete au premier espace( \s ) :
preg_match_all('!https?://[\S]+!', $texte, $resultat);

//affichage (pour tester les array) :
//print_r($resultat);

//boucle pour rechercher les valeurs dans le tableau :
foreach($resultat[0] as $liens) {

//pour tester ou lister simplement les urls :
//echo $liens."<br>";

//mise en forme de l'url courante en html :
$liens_htm = "<a href='".$liens."' target='_blank'>".$liens."</a><br>";

//transformation du texte original :
$texte = str_replace($liens, $liens_htm, $texte);

}

echo $texte;

?>

Conclusion :


Pratique pour un log, un formulaire ou pour comprendre le listage d'un tableau avec la fonction preg_match_all.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.