网站首页 语言 会计 互联网计算机 医学 学历 职场 文艺体育 范文
当前位置:学识谷 > 计算机 > php语言

PHP解密Unicode及Escape加密字符串

栏目: php语言 / 发布于: / 人气:9.64K

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

PHP解密Unicode及Escape加密字符串

本文给大家分享一个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);

}