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 :
mon contenu title est :
et mon code PHP qui extrait :
une idée ce cette apostrophe relourd ?[/code]
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:
$reg="/a[\s]+[^>]*?href[\s]?=[\s\"\']+(.*?)[\"\']+.*?title[\s]?=[\s\"\r]+(.*?)[\"\']+.*?>/";
Code:
title[\s]?=[\s\"\r]+(.*?)[\"\']
et mon code PHP qui extrait :
Code:
$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]