用preg_replace_callback替换已弃用的preg_replace

时间:2014-01-28 10:16:17

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

下面的

代码在升级到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()替换代码?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

第一个答案是函数错误。