apostrophe qui gène le rewriting dans expression régulière

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

USA Mike
WRInaute discret
WRInaute discret
 
Messages: 99
Inscription: Mer Déc 06, 2006 10:54

apostrophe qui gène le rewriting dans expression régulière

Message le Ven Déc 08, 2006 17:49

bonjour ,

j'ai (enfin) fait ce srcipt qui va chercher toutes mes URL dans ma page et les encode en mettant le contenu de ma balise TITLE dans le nom du fichier.

Or ya un problème, si dans ma balise TITLE, j'ai un apostrophe, alors le contenu de la balise est trinqué juste à l'apostrophe.
Le problème est que je ne sais pas comment dire dans mon expression régulière de bie nprendre toute contenu de la balise title y compris ce qui suit le apostrophe.

mon expression régulière est :
Code: Tout sélectionner
$reg="/a[\s]+[^>]*?href[\s]?=[\s\"\']+(.*?)[\"\']+.*?title[\s]?=[\s\"\r]+(.*?)[\"\']+.*?>/";

mon contenu title est :
Code: Tout sélectionner
title[\s]?=[\s\"\r]+(.*?)[\"\']


et mon code PHP qui extrait :
Code: Tout sélectionner
$txt=ob_get_contents();
$reg="/a[\s]+[^>]*?href[\s]?=[\s\"\']+(.*?)[\"\']+.*?title[\s]?=[\s\"\r]+(.*?)[\"\']+.*?>/";
preg_match_all($reg, $txt, $result);
for ($i=0; $i < count($result[0]); $i++) {
   $url=$result[1][$i];
   $title=$result[2][$i];echo "TITLE vaut=".$title."<BR>";
   $url_array=parse_url($url);
   $argv=array();
   $argv_array=array();
   if (!empty($url_array['query'])) {
      $argv=explode('&', $url_array['query']);
      for($j=0; $j < count($argv); $j++) {
         list($k, $v) = explode("=", $argv[$j]);
         $argv_array[$k]=$v;
      }
   }

   // là je fais mon rewriting en fonction de mes parametres
        if (!empty($argv_array['rub']) && !empty($argv_array['menu']) && !empty($argv_array['type']))
      $new_href[]=array('src'=>$url, 'dst'=>clean($title).",".$argv_array['rub']."-".$argv_array['menu']."-".$argv_array['pr_id']."-".strtolower($argv_array['type']).".html");
   
}
for ($i=0; $i < count($new_href); $i++) {
   $txt=str_replace($new_href[$i]['src'], $new_href[$i]['dst'], $txt);
}
echo $txt;


une idée ce cette apostrophe relourd ?[/code]


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Re: apostrophe qui gène le rewriting dans expression réguliè

Message le Ven Déc 08, 2006 18:19

USA Mike a écrit:mon contenu title est :
title[\s]?=[\s"\r]+(.*?)["\']


Pourquoi ceci ?

USA Mike
WRInaute discret
WRInaute discret
 
Messages: 99
Inscription: Mer Déc 06, 2006 10:54

ok

Message le Ven Déc 08, 2006 18:22

je ne sais pas, car j'ai recopié une expression extractrice de lien A HREF kekpart.

ps : hey Dj_Ajax, à cause de ton logo avatar sensuel, on a cru que j'étais sur un site-forum porno en regardant derriere mon épaule !!! Grrr ! la honte !


Patrice A.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

Message le Sam Déc 09, 2006 15:37

eeeeeh cette polémique a déjà eu lieu :lol:

bref, essaie sans le \' dans ta requete.


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités