Bouts de Codes PHP

Trouver des urls dans un texte

Information sur le code source PHP

Ecrit par :  KOOgar
Site de l'auteur Voir
Codes en PHP de l'auteur : [57] sources Voir
Enregistrement le 21 Sept 2007 - Vu 3701 fois
Impression: Imprimer le code
Pas encore
de vote

Description du code source

Information sur le code source

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.

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 source

Fonctions php / mysql PHP

  • preg_match_all : Expression rationnelle globale - (PHP 4, PHP 5)
  • print_r : Affiche des informations lisibles pour une variable - (PHP 4, PHP 5)

Poster un commentaire

:P :)
:wink: :lol:
:surprised: :confused:
:idea: :no:
Taille du texte:
Couleur:
 
Code de sécurité
Offres d'emploi
Librairie

Langages de programmation

La librairie est ouverte à tous et elle est accès principalement sur les langages PHP et MySQL. Vous trouverez aussi d'autres langages de programmation tel que le CSS, HTML, AJAX, ASP.. Plus de 300 références facilement accessibles. Visiter

  • MySQL 5 et PHP 5.2 - Coffret de 2 livres : Maîtrisez les sites web dynamiques
  • Programmer pour Internet : Notions fondamentales et mise en pratique (tcp/ip, http, html, java, php, MySQL, XML...)
  • Pratique de MySQL et PHP : Conception et réalisation de sites web dynamiques
  • HTML 4 avec XHTML et CSS (1Cédérom)
  • HTML 4 : Maîtrisez le code source
  • Tout réussir avec PHP & MySQL
  • PHP - Introduction et premiers pas
  • MySQL
  • PHP et MySQL - Maîtrisez le développement d'un site Web dynamique et interactif
  • Site web marchand en PHP/MySQL