obtenir des adresses absolues pour les images incluses dans la balise #TEXTE

Bonjour,

Je cherche à obtenir des adresses absolues pour les images incluses dans ma balise #TEXTE. (http://www.monsite.com/IMG/jpg/monimage.jpg)

J'ai bien trouvé de la documentation pour l'appliquer aux #LOGO, mais rien pour les #TEXTE.

J'aimerais bien faire un filtre perso, mais je ne sais pas trop par où commencer...

Quelqu'un a déjà vu quelque chose à ce sujet?

(Le site roule sous 1.7.2)

Merci d'avance!

François

Francois wrote:

Bonjour, ...
Je cherche à obtenir des adresses absolues pour les images incluses dans
ma balise #TEXTE. (http://www.monsite.com/IMG/jpg/monimage.jpg)

...

(Le site roule sous 1.7.2)

Bonsoir (ici),
" - Filtres d'URL « absolues ». Tous les liens proposés par SPIP (à partir
des raccourcis [->article 11] ou des balises du type #URL_ARTICLE) sont des
liens « relatifs », qui n'indiquent pas l'adresse complète de la ressource
liée. Or, pour certains usages, comme par exemple la syndication, il est
utile d'avoir l'adresse absolue. Pour cela deux filtres ont été introduits :
  |url_absolue qui s'applique aux URL : [(#URL_ARTICLE|url_absolue)] ;
  |liens_absolus qui s'applique aux textes et transforme l'adresse des liens
et des images : [(#TEXTE|liens_absolus)]."

sur la page : SPIP 1.8.2 - SPIP
... alors peut-être cela vaut le coup de mettre ta version de Spip à jour
vers 1.8.2.

Paolo

Francois Bernier wrote:

Bonjour,

Je cherche à obtenir des adresses absolues pour les images incluses dans ma balise #TEXTE. (http://www.monsite.com/IMG/jpg/monimage.jpg)

J'ai bien trouvé de la documentation pour l'appliquer aux #LOGO, mais rien pour les #TEXTE.

J'aimerais bien faire un filtre perso, mais je ne sais pas trop par où commencer...

Quelqu'un a déjà vu quelque chose à ce sujet?

(Le site roule sous 1.7.2)

il y a en 1.8.2d des filtres pour faire cela:
|liens_absolus

voici le code à mettre dans mes_focntions puisque tu es en 1.7.2:
// un filtre pour transformer les URLs relatives en URLs absolues ;
// ne s'applique qu'aux #URL_XXXX
function url_absolue($url, $base='') {
  if (strlen($url = trim($url)) == 0)
    return '';
  if (!$base) $base=lire_meta('adresse_site').'/';
  return suivre_lien($base, $url);
}

// un filtre pour transformer les URLs relatives en URLs absolues ;
// ne s'applique qu'aux textes contenant des liens
function liens_absolus($texte, $base='') {
  if (preg_match_all(',(<a[[:space:]]+[^<>]*href=["\']?)([^"\' ><[:space:]]+)([^<>]*>),ims',
  $texte, $liens, PREG_SET_ORDER)) {
    foreach ($liens as $lien) {
      $abs = url_absolue($lien[2], $base);
      if ($abs <> $lien[2])
        $texte = str_replace($lien[0], $lien[1].$abs.$lien[3], $texte);
    }
  }
  if (preg_match_all(',(<img[[:space:]]+[^<>]*src=["\']?)([^"\' ><[:space:]]+)([^<>]*>),ims',
  $texte, $liens, PREG_SET_ORDER)) {
    foreach ($liens as $lien) {
      $abs = url_absolue($lien[2], $base);
      if ($abs <> $lien[2])
        $texte = str_replace($lien[0], $lien[1].$abs.$lien[3], $texte);
    }
  }
  return $texte;
}

Pierre