代码修复,带有/ e DEPRECATED的preg_replace

时间:2015-09-02 03:28:04

标签: php preg-replace deprecated

我有一小段代码需要更新以符合PHP 5.6,因为我目前正在收到DEPRECATED错误消息。代码来自我使用的插件,是由其他人创建的,因此我不确定它是如何被修改的。

以下是错误消息。

PHP Deprecated:  preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead

这是一段代码。

$messagetext = preg_replace(
    '#(^|\[/(' . $skiptaglist . ')\])(.*(\[(' . $skiptaglist . ')|$))#siUe',
    "convert_url_to_bbcode_callback_auto_title('\\3', '\\1')",
    $messagetext
);

我意识到需要更新才能使用 preg_replace_callback ,但除了将 preg_replace 更改为 preg_replace_callback 之外,我知道还有其他需要更改为了代码,我只是不确定是什么。

我理解我可以忽略这个错误,但是我希望有人为我修复代码,以便更新它以便与PHP 5.6一起正常工作

提前致谢

1 个答案:

答案 0 :(得分:-1)

不推荐使用的警告只是告诉您应该更改函数调用以使用preg_replace_callback函数。 " / e"在PHP 7.0.0中完全删除了回调。

可以在此处找到有关如何更改呼叫的完整答案:

Replace deprecated preg_replace /e with preg_replace_callback