WP-lightbox不推荐使用:preg_replace():不推荐使用/ e修饰符,而是使用preg_replace_callback

时间:2018-02-14 13:06:02

标签: wordpress deprecated

我的插件wp-lightbox evolution显示错误

  

不推荐使用:preg_replace():不推荐使用/ e修饰符   改为preg_replace_callback

当我用preg_replace_callback替换它时,我收到错误:

  

警告:preg_replace_callback():需要参数2,   ' stripslashes(strstr(" \ 1 \ 3"," class =")?" \ 0":"" )',成为有效的回调

任何帮助都将不胜感激。

此致

1 个答案:

答案 0 :(得分:0)

带有preg_replace修饰符的

/e用于接受PHP代码作为字符串。

preg_replace_callback接受callablepreg_replace_callback应接受匹配数组并返回要用作替换字符串的函数。

如果您不在其他地方使用此代码,则使用匿名函数是有意义的,如下所示:

preg_replace_callback(YOUR_PATTERN_HERE, function ($matches) {
  return stripslashes(
    strstr($matches[1] . $matches[3], "class=")
      ? $matches[0]
      : "");
}, YOUR_STRING_TO_BE_CHANGED_HERE);

有关详细信息,请参阅问题Replace preg_replace() e modifier with preg_replace_callback