Vous êtes ici Codes PHP et MySQL > URL > Trouver des urls dans un texte

 

Trouver des urls dans un texte

Pouvoir englober tous les types d'urls existant est peut-etre un peu prétentieux. Je propose un masque qui devrait englober tous les types d'urls. Malheuresement je ne les connais pas tous, et j'espere à travers les exemples ci-dessous, avoir remonter les types d'urls les plus courants. Si de votre coté vous trouvez des urls qui ne sont pas capturés par ce regex, faite le moi savoir que j'adapte le regex.
 
KOOgar
Site de l'auteur voir
[62] sources en PHP voir
Code vu 4751 fois
Enregistré le 21 Sept 2007
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Trouver des urls dans un texte
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Trouver des urls dans un texte                            */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts303-PHP.htm              */
/* Auteur         : KOOgar                                                    */
/* Date édition   : 21 Sept 2007                                              */
/* Website auteur : http://www.phpsources.org                                 */
/*                                                                            */
/******************************************************************************/


$chaine='le site : http://www.mon-site.com/fr/index.php
         est maintenant en ligne avec le site : http://www.monsite.com/index.php
         et encore le site : http://monsite.com
         ou bien encore :  http://www.monsite.com/fr-en/index.php?var=414
         et pour terminer :  http://monsite.com/index.php?var=414s_dd2&var2=f14
         ';

// MASQUE
$masque  '#';
$masque .= '([http|ftp|https]+://';
$masque .= '[www\.]?';
$masque .= '[\.\-a-zA-Z0-9]*';
$masque .= '[a-zA-Z]{2,4}?';
$masque .= '[\?/\=\&\-_.a-zA-Z0-9]+?';
// si vous avez + de repertoires a analyser, ajouter + de lignes
// comme la ligne modele ci dessous :
$masque .= '[\?/\=\&\-_.a-zA-Z0-9]+?';
// fin ligne modele
$masque .= '[\?/\=\&\-_.a-zA-Z0-9]+)';
$masque .= '#i';
// FIN MASQUE

preg_match_all($masque,$chaine,$matches,PREG_SET_ORDER);

// le resultat se trouve dans le tableau $matches
print_r($matches);

// SORTIE :

// Array ( [0] => Array ( [0] => http://www.mon-site.com/fr/index.php
//                        [1] => http://www.mon-site.com/fr/index.php )
//         [1] => Array ( [0] => http://www.monsite.com/index.php
//                        [1] => http://www.monsite.com/index.php )
//         [2] => Array ( [0] => http://monsite.com
//                        [1] => http://monsite.com )
//         [3] => Array ( [0] => http://www.monsite.com/fr-en/index.php?var=414
//                        [1] => http://www.monsite.com/fr-en/index.php?var=414 )
//         [4] => Array ( [0] => http://monsite.com/index.php?var=41_2&var2=f14
//                        [1] => http://monsite.com/index.php?var=41_2&var2=f14))

?>

 

Fonctions du code

: Expression rationnelle globale - (PHP 4, PHP 5)
: Affiche des informations lisibles pour une variable - (PHP 4, PHP 5)
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

URL

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
        Publicité