警告:preg_replace_callback():要求参数2'word(\ 1)'是/.php中第54行的有效回调

时间:2019-06-25 10:02:07

标签: php

我在此行的php中有警告

$text = preg_replace_callback('/LANG\[([0-9a-z_]*?)\]/e','word(\\1)',$read);

如何解决此问题

1 个答案:

答案 0 :(得分:0)

匹配的组默认情况下传递给回调函数。 所以您的代码应该像这样。

$text = preg_replace_callback('/LANG\[([0-9a-z_]*?)\]/','word',$read);

在回调中,您可以像这样访问匹配的组。

function word($matches)
  {
   //$matches[0] will be while matched string
   //$matches[1] will be your first matched group
   }
  

/ e标志在PHP 5.5.0中已被弃用,而在PHP 7.0.0中已被删除

因此,避免使用/e标志。 有关更多信息,请查看here