function liens_ouvrants

Bonsoir,

La balise target="_blank" n'étant pas valide en XHTML-strict,
je pensais modifier le code du filtres.php :

function liens_ouvrants ($texte) {
  return preg_replace(",<a ([^>]*https?://[^>]*class=\"spip_(out|url)\b[^>]+)>,",
    "<a \\1 target=\"_blank\">", $texte);
}

par du javascript dans le fichier mes_fonctions.php

function liens_ouvrants ($texte) {
  return preg_replace(",<a ([^>]*https?://[^>]*class=\"spip_(out|url)\b[^>]+)>,",
    "<a //1 onclick=\"window.open(this.href, '_blank'); return false;\">", $texte);
}

seulement le hic c'est que j'ai un message d'erreur me disant :

Fatal error: Cannot redeclare liens_ouvrants() (previously declared in /home/ebullit/public_html/squelettes/mes_fonctions.php:5) in /home/ebullit/public_html/ecrire/inc/filtres.php on line 372

Une piste... ?!?!

Philippe Chabert a écrit :

Bonsoir,

La balise target="_blank" n'étant pas valide en XHTML-strict,
je pensais modifier le code du filtres.php :

function liens_ouvrants ($texte) {
  return preg_replace(",<a ([^>]*https?://[^>]*class=\"spip_(out|url)\b[^>]+)>,",
    "<a \\1 target=\"_blank\">", $texte);
}

par du javascript dans le fichier mes_fonctions.php

function liens_ouvrants ($texte) {
  return preg_replace(",<a ([^>]*https?://[^>]*class=\"spip_(out|url)\b[^>]+)>,",
    "<a //1 onclick=\"window.open(this.href, '_blank'); return false;\">", $texte);
}

seulement le hic c'est que j'ai un message d'erreur me disant :

Fatal error: Cannot redeclare liens_ouvrants() (previously declared in /home/ebullit/public_html/squelettes/mes_fonctions.php:5) in /home/ebullit/public_html/ecrire/inc/filtres.php on line 372

Une piste... ?!?!
  

avoir ca dans inc/filtres

if(!function_exist('liens_ouvrants'))
    function liens_ouvrants(){
...
}

voila :slight_smile:

---
Antivirus avast! : message Sortant sain.
Base de donnees virale (VPS) : 071120-0, 20/11/2007
Analyse le : 20/11/2007 20:17:36
avast! - copyright (c) 1988-2007 ALWIL Software.

ml-yoann@advisio-com.fr a écrit :

Philippe Chabert a écrit :

Bonsoir,

La balise target="_blank" n'étant pas valide en XHTML-strict,
je pensais modifier le code du filtres.php :

function liens_ouvrants ($texte) {
  return preg_replace(",<a ([^>]*https?://[^>]*class=\"spip_(out|url)\b[^>]+)>,",
    "<a \\1 target=\"_blank\">", $texte);
}

par du javascript dans le fichier mes_fonctions.php

function liens_ouvrants ($texte) {
  return preg_replace(",<a ([^>]*https?://[^>]*class=\"spip_(out|url)\b[^>]+)>,",
    "<a //1 onclick=\"window.open(this.href, '_blank'); return false;\">", $texte);
}

seulement le hic c'est que j'ai un message d'erreur me disant :

Fatal error: Cannot redeclare liens_ouvrants() (previously declared in /home/ebullit/public_html/squelettes/mes_fonctions.php:5) in /home/ebullit/public_html/ecrire/inc/filtres.php on line 372

Une piste... ?!?!
  

avoir ca dans inc/filtres

if(!function_exist('liens_ouvrants'))
    function liens_ouvrants(){
...
}

voila :slight_smile:

Merci pour la réponse mais ne risque-t-il pas d'y avoir de problème lors
d'une future mise à jour...?

... auquel cas autant directement remplacer la function liens_ouvrants dans le fichier concerné?