Warning dans mon code php

warnings4ever -  
 warnings4ever -
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   Statut Membre Dernière intervention   130
 
Tu as des fonctions qui sont devenue obsolète regarde au niveau de php.net celles qui les remplace
0
warnings4ever
 
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   Statut Membre Dernière intervention   130 > warnings4ever
 
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
 
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   Statut Membre Dernière intervention   130 > warnings4ever
 
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
 
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
 
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