gpt4 book ai didi

php - 将高代码点 (> U+FFFF) 编码为 HTML 实体

转载 作者:搜寻专家 更新时间:2023-10-31 21:04:53 24 4
gpt4 key购买 nike

我有一个输入字符串(URL 编码):

%F0%9F%98%8E

解码出来的是表情符号“😎”。

如何将其转换为 HTML 代码😎

http://unicode.online-toolz.com/tools/unicode-html-entities-convertor.php

这个网站正在做我需要的。

最佳答案

<?php

function mb_ord($char, $encoding = 'UTF-8') {
if ($encoding === 'UCS-4BE') {
list(, $ord) = (strlen($char) === 4) ? @unpack('N', $char) : @unpack('n', $char);
return $ord;
} else {
return mb_ord(mb_convert_encoding($char, 'UCS-4BE', $encoding), 'UCS-4BE');
}
}

function mb_htmlentities($string, $hex = false, $encoding = 'UTF-8') {
return preg_replace_callback('/[\x{80}-\x{10FFFF}]/u', function ($match) use ($hex) {
return sprintf($hex ? '&#x%X;' : '&#%d;', mb_ord($match[0]));
}, $string);
}


echo mb_htmlentities(urldecode('%F0%9F%98%8E'));

这将返回 😎

(请注意,此答案基于 a modified version of functions provided by this answer here 。)

关于php - 将高代码点 (> U+FFFF) 编码为 HTML 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34267222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com