Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1316 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RegExp] Détecter toutes les adresses URL d'une chaîne de caractères

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RegExp] Détecter toutes les adresses URL d'une chaîne de caractères

n°1384154
ceyquem
E falso sequitur quodlibet
Posté le 08-06-2006 à 22:34:44  profilanswer
 

Bonjour,
 
Je souhaite récupérer dans un tableau l'ensemble des adresses URL contenues dans une chaîne de caractères. Ces adresses peuvent être contenues dans des balises html <a> ou bien être écrites directement.
 
Pour que vous compreniez de suite pourquoi je cherche à faire ça, voici un exemple typique de chaîne de caractère que je souhaite traiter :
 

Webmaster, your site is secure confidential and quick. Great job!
<br/>
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/index.html\"&gt;cialis&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/buy-cialis.html\"&gt;buy cialis&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/generic-cialis.html\"&gt;generic cialis&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/cheapest-cialis.html\"&gt;cheapest cialis&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/cheap-cialis.html\"&gt;cheap cialis&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/order-cialis.html\"&gt;order cialis&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/cialis-drug.html\"&gt;cialis drug&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/discount-cialis.html\"&gt;discount cialis&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/cialis-soft-tabs.html\"&gt;cialis soft tabs&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/buy-cialis-online.html\"&gt;buy cialis online&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/cialis-online.html\"&gt;cialis online&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/cialis-no-prescription.html\"&gt;cialis no prescription&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/cialis-samples.html\"&gt;cialis samples&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/cialis-pill.html\"&gt;cialis pill&lt;/a&gt;
<br/>&lt;a href=\"http://vrachirulyat.mpage.jp/cialis-dosage.html\"&gt;cialis dosage&lt;/a&gt;
<br/>http://vrachirulyat.mpage.jp/index.html
<br/>http://vrachirulyat.mpage.jp/buy-cialis.html
<br/>http://vrachirulyat.mpage.jp/generic-cialis.html
<br/>http://vrachirulyat.mpage.jp/cheapest-cialis.html
<br/>http://vrachirulyat.mpage.jp/cheap-cialis.html
<br/>http://vrachirulyat.mpage.jp/order-cialis.html


 
J'ai pour le moment trouvé un bout de code qui est le suivant :
 

$pattern ='`(http|https)://(.*)(\"|\s)`';
 @preg_match_all ($pattern, $texte, $result);
 
 $alpha = $result[0];
 
 $count_alpha = @count($alpha);
 
 $liste="";
 for ($a = 0; $a <= $count_alpha-1; $a++)
  $liste=$liste."\r\n".$alpha[$a].", ";


 
Mais le code ne fonctionne pas et je ne suis pas hyper calé en regexp.
 
Des pistes ?
 
Merci :)

mood
Publicité
Posté le 08-06-2006 à 22:34:44  profilanswer
 

n°1384160
afbilou
pouet your life
Posté le 08-06-2006 à 22:43:14  profilanswer
 

Pour l'exemple que tu fournis  

Code :
  1. #(https?://(?:\w|[/.-])*)#


devrais suffire comme pattern au preg_match_all

n°1384161
afbilou
pouet your life
Posté le 08-06-2006 à 22:44:50  profilanswer
 

meme que :

Code :
  1. #https?://(?:\w|[/.-])*#


est encore mieux :) ...

n°1384163
ceyquem
E falso sequitur quodlibet
Posté le 08-06-2006 à 22:49:43  profilanswer
 

waw, super efficace :)
 
Merci pour le pattern, je vais essayer de comprendre comment il fonctionne.
 
Bonne soirée :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RegExp] Détecter toutes les adresses URL d'une chaîne de caractères

 

Sujets relatifs
[ RESOLU ]warning quand je passe des paramètres URLsuppression d'une chaîne de caractères entre []
Convertir les URL en liens cliquablesDifférence entre 2 chaînes de caractères
Url rewriting, besoin d'aide :)calcul de nombre de kilomètre entre 2 adresses
[PHP] [URL Rewriting] Faire une recherche dans une DB ?[Résolu] Problème MySQL 1&1 : plus de protection de chaine !
Php : convertir chaine de caractère 
Plus de sujets relatifs à : [RegExp] Détecter toutes les adresses URL d'une chaîne de caractères


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR