php的正则闭包500错误!快来看看啊!!

 pang1995_313 发布于 2022-12-01 11:51

PHP求助!

function str_emoji($str){
  function empic($h){
    $p=dechex(str_replace(array('&#',';'),'',$h));
    return ''.$h.'';
  };
  $str=preg_replace('#(\&\#[0-9]{6}\;)#ie','empic("\\1")',$str);
  return $str;
};
$com_print=str_emoji('aaa🐛🐍bbb');

在我的网站中这段代码是报错的,我用的PHP版本是5.3.28
我在SAE中测试是没有问题的,版本是5.3 http://parktest.sinaapp.com/

3 个回答
  • 是不是死循环了????

    2022-12-01 14:42 回答
  • function str_emoji($str,$cdn){
      function empic($h){
        $p=dechex(str_replace(array('&#',';'),'',$h));
        return '<img src="'.$cdn.$p.'.png" alt="'.$h.'" class="smiley" />';
      };
      $str=preg_replace('#(\&\#[0-9]{6}\;)#ie','empic("\\1")',$str);
      return $str;
    };
    
    $com_print=str_emoji('aaa&#128027;&#128013;bbb',$_POST['face']);
    2022-12-01 14:42 回答
  • 好吧,最后还是要我自己来写答案。

    function pic_emoji($str,$cdn){
      return preg_replace_callback(
        '/\&\#[0-9]{6}\;/',
        function ($m) use ($cdn){
          $p=dechex(str_replace(array('&#',';'),'',$m[0]));
          return '<img src="'.$cdn.$p.'.png" alt="'.$m[0].'" class="smiley" />';
        },
        $str
      );
    };
    2022-12-01 14:42 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有