ste Posté 9 Janvier 2006 Posté 9 Janvier 2006 kikooo all j'ai un flux xhtml, auquel je cherche à détecter tous les liens pour leur appliquer un zeste de functions avant de les réinjecter dans le flux. mon code : function recodeURL($html) { preg_match_all('!href="(.+)"!isU', $str, $href); $this->xploz = explode('"', $href[0][1]); /*** traitement url ***/ $url = parse_url($this->xploz[1]); if( !empty($url['user']) && !empty($url['password']) ) $url['xhtml2pdf']['user_pass'] = $url['user'].':'.$url['password'].'@'; else $url['xhtml2pdf']['user_pass'] = ''; $url['xhtml2pdf']['href'] = $url['scheme'].'://'.$url['xhtml2pdf']['user_pass'].$url['host']; if( !empty($url['path']) ) $url['xhtml2pdf']['href'] = $url['xhtml2pdf']['href'].$url['path']; if( !empty($url['query']) ) $url['xhtml2pdf']['href'] = $url['xhtml2pdf']['href'].'?'.urlencode($url['query']); if( !empty($url['fragment']) ) $url['xhtml2pdf']['href'] = $url['xhtml2pdf']['href'].'#'.$url['fragment']; /*** pattern ***/ $search = '!href="(.+)"!isU'; $replace = 'href="'.$url['xhtml2pdf']['href'].'"'; $str = preg_replace($search, $replace, $str); return($str); unset($href, $url, $search, $replace); } sauf que dans l'état, la méthode prend la valeur de l'attribut href et la restitue à l'ensemble des liens qui peut exister dans mon flux html... au lieu d'appliquer celle qui correspond à son lien ! J'ai certainement loupé quelque chose ... mais quoi ?!
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant