Warning dans mon code php
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
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
2 réponses
-
Tu as des fonctions qui sont devenue obsolète regarde au niveau de php.net celles qui les remplace
-
-
@warnings4everta 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 ^^ -
-
@warnings4everLe header sert à quoi ? car là a part assigner une variable, j'espère booléenne, à true il ne fait rien d'autre ...
-
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.
-
-
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