Warning dans mon code php

Fermé
warnings4ever - 23 avril 2015 à 11:27
 warnings4ever - 23 avril 2015 à 14:15
Bonjour,
J'ai plein de warning dans mon code, faut savoir que ce code est très vieux et que c'est basé mediawiki, ces erreurs sont survenus après le upgrade de php, sa faisait très très très longtemps qu'elle n'avait pas été upgrade.
Voici les erreurs:
Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4
Warning: Invalid argument supplied for foreach()


public function matchAndRemove( &$text ) {
$found = array();
$regexes = $this->getRegex();
foreach ( $regexes as $regex ) {
if ( $regex === '' ) {
continue;
}
preg_match_all( $regex, $text, $matches, PREG_SET_ORDER );
foreach ( $matches as $m ) {
list( $name, $param ) = $this->parseMatch( $m );
$found[$name] = $param;
}
$text = preg_replace( $regex, '', $text );
}
return $found;
}

ET AUSSI :
Warning: Cannot modify header information - headers already sent

public function header($string, $replace=true) {
header($string,$replace);
}
Merci d'avance
A voir également:

2 réponses

VlkPr3s Messages postés 235 Date d'inscription vendredi 30 mai 2014 Statut Membre Dernière intervention 27 juin 2016 130
23 avril 2015 à 11:30
Tu as des fonctions qui sont devenue obsolète regarde au niveau de php.net celles qui les remplace
0
warnings4ever
23 avril 2015 à 11:41
Bonjour et merci de ta réponse aussi rapide,
J'ai déjà corrigé les erreurs qui indiqué Deprecated en remplaçant par les nouvelles Syntax, Mais pour les erreurs Warnings je t'avoue que je suis un peu perdu.
Merci d'avance.
0
VlkPr3s Messages postés 235 Date d'inscription vendredi 30 mai 2014 Statut Membre Dernière intervention 27 juin 2016 130 > warnings4ever
23 avril 2015 à 11:45
ta variable matches est bien un tableau ?

$matches = array(); ?

Pour le warning du header tu modifies une variable déjà envoyé ... :/ pas très top tout ça ^^
0
warnings4ever
23 avril 2015 à 11:51
Merci une de moins!! c'était pas en array,
pour le header c'est quoi l'alternatif ? parce que j'ai pas écrit le code donc je peux pas dire si c'est important sachant que ce header il est utilisé plein de fois par la suite dans les autres pages ?
0
VlkPr3s Messages postés 235 Date d'inscription vendredi 30 mai 2014 Statut Membre Dernière intervention 27 juin 2016 130 > warnings4ever
23 avril 2015 à 11:53
Le header sert à quoi ? car là a part assigner une variable, j'espère booléenne, à true il ne fait rien d'autre ...
0
warnings4ever
23 avril 2015 à 13:22
Vraiment désolé tu me réponds super vite mais j'ai dû m'absenter. J'ai essayé de l'enlever, le code est devenu fou...
Fatal error: Call to undefined method WebResponse::header()
$wgRequest->response()->header( "Content-type: $wgMimeType; charset={$wgOutputEncoding}" );
$wgRequest->response()->header( 'Content-language: '.$wgContLanguageCode );
Le header est appelé ici.
0
warnings4ever
23 avril 2015 à 14:15
Sinon tu as une idée ce qui cloche avec les
preg_match_all( $regex, $text, $matches, PREG_SET_ORDER );
et
$text = preg_replace( $regex, '', $text );
ça me met cette erreur
Compilation failed: group name must start with a non-digit at offset 4
0