[RESOLU] preg_replace(): Deprecated

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] preg_replace(): Deprecated

Re: preg_replace(): Deprecated

par @rthur » 11 févr. 2017, 13:54

Sans message d'erreur complet ni le code problématique on ne pourra pas t'aider beaucoup :-D

Re: preg_replace(): Deprecated

par slicinga » 11 févr. 2017, 11:13

Bonjour @.

Merci de m'avoir monter mon erreur, maintenant ca roule pour cette partie mais je suis confronté avec un autre blem php7 vs php5.5 un peu plus loin:

Code : Tout sélectionner

eval()'d

Re: preg_replace(): Deprecated

par @rthur » 10 févr. 2017, 14:46

Attention, tu as mis un point au lieu d'une virgule avant function

Re: preg_replace(): Deprecated

par Spols » 10 févr. 2017, 14:01

essaie au moin ceci, le php sera inerprété
$sentence=preg_replace_callback('/~([^<>]{1,})~',function($m){return '<span class="helpstart">'.UTF8_strtoupper($m[1]).'</span>';}, $sentence);
Edit bien vu @rthur

Mais d'après le message d'erreur, $m[1] n'est pas une chaine de carctère donc vérifie aussi ce quelle contient

Re: preg_replace(): Deprecated

par slicinga » 10 févr. 2017, 13:21

Merci pour cette reponse.

j'ai essayé:

Code : Tout sélectionner

$sentence=preg_replace_callback('/~([^<>]{1,})~'.function($m){return '<span class="helpstart">UTF8_strtoupper($m[1])</span>';}, $sentence);
et j'ai l'erreur
:
Catchable fatal error: Object of class Closure could not be converted to string
voila ou je bloque

Re: preg_replace(): Deprecated

par @rthur » 10 févr. 2017, 12:19

Bonjour,

Qu'as-tu essayé ? Où bloques-tu ?
http://php.net/preg_replace_callback

preg_replace(): Deprecated

par slicinga » 10 févr. 2017, 11:02

Bonjour.

J'ai un souci avec un fichier codé en php 5.3 alors que tout le reste est en php7.0.2 et je me trouve confronté a cette erreur que je n'arrive pas à resoudre.

Code : Tout sélectionner

$sentence=preg_replace('/~([^<>]{1,})~/e', "'<span class=\"helpstart\">'.UTF8_strtoupper('\\1').'</span>'", $sentence);
erreur:
ERROR 2: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
Pourriez-vous SVP m'orienter?
En vous remerciant