`
crabdave
  • 浏览: 1295201 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Warning: preg_replace_callback(): Requires argument 2, 'iconv('UCS-2', 'UTF-8',

    博客分类:
  • PHP
 
阅读更多

Warning: preg_replace_callback(): Requires argument 2, 'iconv('UCS-2', 'UTF-8', pack('H4', '\1'))'

 

php 升级后(5.4升级到5.6)出现的错误

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

2)Warning: preg_replace_callback(): Requires argument 2, 'iconv('UCS-2', 'UTF-8', 

 

参考:

http://www.jiawin.com/preg_replace_callback

 

解决办法:

$data = curl_menu(ACCESS_TOKEN, preg_replace("#\\\u([0-9a-f]+)#ie", "iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))", $data));

替换如下:

function decodeUnicode($str){ 
    return preg_replace_callback('/\\\\u([0-9a-f]{4})/i', create_function('$matches', 'return iconv("UCS-2BE","UTF-8",pack("H*", $matches[1]));'), $str); 
}
分享到:
评论

相关推荐

    ecmall 解决php5.6升级后的所有bug preg_replace_callback()

    在此次修复过程中,主要涉及到的是`preg_replace_callback()`函数的使用问题。`preg_replace_callback()`是PHP中的一个正则表达式处理函数,用于执行一个回调函数对每个匹配的字符串进行替换,而在PHP不同版本之间,...

    ECSHOP完美解决Deprecated: preg_replace()报错的问题

    2. 打开文件,并查找使用了/e修饰符的preg_replace函数调用。 3. 将使用/e修饰符的部分替换为preg_replace_callback函数,其中需要定义一个适当的回调函数来处理匹配的文本。 4. 如果ECSHOP的其他文件也出现类似错误...

    详解PHP正则表达式替换实现(PHP preg_replace,PHP preg_replace)

    preg_replace:执行正则表达式的搜索和替换 mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) preg_replace:允许你替换字符串中匹配到你定义的正则表达式。 一个简单的...

    php中preg_replace_callback函数简单用法示例

    `preg_replace_callback`与`preg_replace`的主要区别在于,`preg_replace`需要提供一个预定义的替换字符串,而`preg_replace_callback`则允许更动态的处理,可以根据匹配的内容生成替换字符串,这在处理复杂替换逻辑...

    慎用preg_replace危险的/e修饰符(一句话后门常用)

    preg_replace函数原型: mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) 特别说明: /e 修正符使 preg_replace() 将 replacement 参数当作 PHP 代码(在适当的逆向引用替换...

    php正则preg_replace_callback函数用法实例

    本文将深入讲解`preg_replace_callback`函数的用法,并通过实例来展示如何使用这个函数。 ### preg_replace_callback函数简介 `preg_replace_callback`函数的工作原理是,它接收三个主要参数:第一个参数是正则...

    PHP正则的Unknown Modifier错误解决方法

    Warning: preg_replace(): Unknown modifier ‘p’ in E:\phpLearn\test.php on line 12 原因是: 在正则模式中,用/做定界符,但正则中也含有/,因此会出现此错误,PHP误当后面的一个中的斜杠是结束的定界符。 解决...

    c#中的实现php中的preg_replace

    在C#中实现PHP的`preg_replace`功能,我们需要利用.NET框架提供的`Regex.Replace`方法。PHP的`preg_replace`函数是一个非常强大的正则表达式替换工具,它接受模式、替换字符串、目标字符串以及可选的替换次数限制...

    php中使用preg_replace函数匹配图片并加上链接的方法

    介绍:preg_replace 执行正则表达式的搜索和替换,如果只是单纯的匹配字符串建议使用str_replace(),因为其执行效率高的多。mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) ...

    PHP正则表达式函数preg_replace用法实例分析

    preg_replace 执行一个正则表达式的搜索和替换 语法:preg_replace (pattern ,replacement ,subject,limit,count ) 参数 描述 pattern 正则表达式(字符串或字符串数组) replacement 用于替换的字符串或...

    php小经验:解析preg_match与preg_match_all 函数

    $host = $matches[2]; preg_match("/[^.\/]+.[^.\/]+$/", $host, $matches); echo "域名为:" . $matches[0]; ?> ``` 在这个例子中,`preg_match_all()`不仅找到URL中的主机名,还进一步提取出二级域名"jb51.net"。 ...

    eregi_replace与preg_replace 函数代码的用法比较

    #### 示例2: `preg_replace`示例解析 ```php $text = preg_replace("!(\[url=)(http|https|ftp)(://\S+?)(\])(.+?)(\[/url\])!i", "<ahref='\\2\\3' target='_blank'>\\5</a>", $text); ``` - **`!(\[url=)(http|...

    PHP中一个有趣的preg_replace函数详解

    事情的起因是下午遇到了 preg_replace 函数,我们都知道 preg_replace 函数可能会导致命令执行。现在我们来一些情况。 0x02 经过 踩坑1: 测试代码大概是这样的: foreach ($_GET as $regex => $value) { preg_...

    PHP5.2下preg_replace函数的问题

    如果遇到复杂的替换需求,还可以考虑使用`preg_replace_callback`,它允许在匹配后执行自定义函数来决定如何替换匹配项,这样可以在一定程度上控制替换过程。 总之,解决PHP 5.2中的`preg_replace`问题通常涉及调整...

Global site tag (gtag.js) - Google Analytics