gpt4 book ai didi

PHP 如何将文本编码为数字实体?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:47:48 26 4
gpt4 key购买 nike

我有这样的 xml:

<formula type="inline">
<default:math xmlns="http://www.w3.org/1998/Math/MathML">
<default:mi>
&Zopf;
</default:mi>
</default:math>
</formula>

我的目标是摆脱所有像 这样的特殊实体,用它们的数字实体表示代替它们。

我试过了:

$test    = <content of the xml>;
$convmap = array(0x80, 0xffff, 0, 0xffff);
$test = mb_encode_numericentity($test, $convmap, 'UTF-8');

但这不会取代 有什么想法吗?

我的目标是:

&#8484; 

如下所示:http://www.fileformat.info/info/unicode/char/2124/index.htm

谢谢。

最佳答案

您的转换器正在将您的 LaTeX 转换为 MathML,而不是 HTML 实体。你需要一些可以直接转换成 HTML 字符引用的东西,或者 MathML to HTML character reference converter .

您应该能够使用 htmlentities:

htmlentities($symbolsToEncode, ENT_XML1, 'UTF-8');

http://pt1.php.net/htmlentities

您可以将 ENT_XML1 更改为 ENT_SUBSTITUTE,它将返回 Unicode 替换字符或十六进制字符引用。

作为替代方案,您可以使用 strtr 将字符转换为您指定的内容:

$chars = array(
"\x8484" => "&#x8484;"
...
);

$convertedXML = strtr($xml, $chars);

http://php.net/strtr

Someone has done something similar on GitHub .

关于PHP 如何将文本编码为数字实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20636362/

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