php语言 百分网手机站

PHP解密Unicode及Escape加密字符串

时间:2020-08-06 09:31:53 php语言 我要投稿

PHP解密Unicode及Escape加密字符串

  在json中不支持中文,用它传送中文数据就会出现数据丢失或者乱码,必须在传送前对要发送的.字符串进行编码,由于传送过去需要用js进行数据解析,考虑 到js中有unescape函数,故若在php中有个escape函数,对数据进行编码,在客户端用unescape进行 解码,这样就会方便很多。

  本文给大家分享一个PHP解密Unicode及Escape加密字符串函数

  ?

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  15

  16

  17

  18

  19

  20

  21

  22

  23

  24

  25

  26

  27

  28

  29

  30

  31

  32

  33

  34

  35

  36

  37

  38

  39

  <?php

  function uni_decode($s) {

  preg_match_all('/\&\#([0-9]{2,5})\;/', $s, $html_uni);

  preg_match_all('/[\\\%]u([0-9a-f]{4})/ie', $s, $js_uni);

  $source = array_merge($html_uni[0], $js_uni[0]);

  $js = array();

  for($i=0;$i<count($js_uni[1]);$i++) {

  $js[] = hexdec($js_uni[1][$i]);

  }

  $utf8 = array_merge($html_uni[1], $js);

  $code = $s;

  for($j=0;$j<count($utf8);$j++) {

  $code = str_replace($source[$j], unicode2utf8($utf8[$j]), $code);

  }

  return $code;//$s;//preg_replace('/\\\u([0-9a-f]{4})/ie', "chr(hexdec('\\1'))", $s);

  }