【问题标题】:Replace deprecated preg_replace with preg_replace_callback用 preg_replace_callback 替换已弃用的 preg_replace
【发布时间】:2014-02-19 13:59:32
【问题描述】:

升级到 PHP 5.5+ 后,下面的代码会给出弃用警告

$sentence=preg_replace('/~([^<>]{1,})~/e', "'<span class=\"helpstart\">'.UTF8_strtoupper('\\1').'</span>'", $sentence);

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

如何用 preg_replace_callback() 替换代码?

【问题讨论】:

标签: php preg-replace preg-replace-callback


【解决方案1】:
$sentence=preg_replace('/~([^<>]{1,})~/', function($match) {return "<span class=\"helpstart\">".UTF8_strtoupper($match)."</span>"; } , $sentence);

根据http://www.php.net/manual/en/function.preg-replace-callback.php

【讨论】:

  • 如果我用 preg_replace_callback 更改 preg_replace 并修复它,谢谢
【解决方案2】:
$sentence=preg_replace_callback('/~([^<>]{1,})~/', function($match) {return "<span class=\"helpstart\">".UTF8_strtoupper($match[1])."</span>"; } , $sentence);

第一个答案是函数出错。

【讨论】:

    猜你喜欢
    • 2013-10-15
    • 2015-08-09
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    相关资源
    最近更新 更多