[RESOLU] Cannot redeclare str_ireplace() in /lib_newsletter.php on line 159

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Cannot redeclare str_ireplace() in /lib_newsletter.php on line 159

par Henri KI ? » 24 avr. 2009, 13:54

Génial ! Ca marche parfaitement :)
Merci beaucoup à vous deux, c'est super sympa d'avoir pris le temps de m'aider.

par AB » 23 avr. 2009, 19:46

d'après l'erreur , tu doit vouloir redeclarer la même fonction.

Cela peut sans doute venir d'un doublon d'include !

Bye Hawk
Sans doute effectivement.

Eventuellement, quand plusieurs fonctions peuvent faire doublon suite à des include tu peux toujours déclarer tes fonctions comme ceci :
if (!function_exists("str_ireplace"))
{
function str_ireplace($find, $replace, $str) {
      $tmpf = array(
         '\\','/','[',']','(',
         ')','*','+','-','?',
         '^','$','.','|','{','}'
      );
      $tmpr = array(
         '\\\\','\/','\[','\]','\(',
         '\)','\*','\+','\-','\?',
         '\^','\$','\.','\|','\{','\}'
      );
      if(!is_array($find))
         $find = array($find);
      for($a = 0, $b = count($find); $a < $b; $a++)
         $find[$a] = '/(?i)'.str_replace($tmpf, $tmpr, $find[$a]).'/';
      return preg_replace($find, $replace, $str);
} 
}

par thehawk » 23 avr. 2009, 13:58

d'après l'erreur , tu doit vouloir redeclarer la même fonction.

Cela peut sans doute venir d'un doublon d'include !

Bye Hawk

[RESOLU] Cannot redeclare str_ireplace() in /lib_newsletter.

par Henri KI ? » 23 avr. 2009, 13:16

Bonjour à tous,

J'ai une erreur concernant l'utilisation de wanewsletter sur mon site qui est la suivante :

Fatal error: Cannot redeclare str_ireplace() in /lib_newsletter.php on line 159

Le fichier lib_newsletter ne contient qu'une accolade ( } ) à la ligne 159.
Je vous joins donc la partie du fichier lib_newsletter qui semble correspondre à l'erreur (la ligne 159 est la dernière) :

Code : Tout sélectionner

function str_ireplace($find, $replace, $str) { $tmpf = array( '\\','/','[',']','(', ')','*','+','-','?', '^','$','.','|','{','}' ); $tmpr = array( '\\\\','\/','\[','\]','\(', '\)','\*','\+','\-','\?', '\^','\$','\.','\|','\{','\}' ); if(!is_array($find)) $find = array($find); for($a = 0, $b = count($find); $a < $b; $a++) $find[$a] = '/(?i)'.str_replace($tmpf, $tmpr, $find[$a]).'/'; return preg_replace($find, $replace, $str); }
En espérant qu'une âme charitable puisse me venir en aide car je sèche là...

Merci d'avance :)