gpt4 book ai didi

php - 在 PHP 中生成 XML 文档(转义字符)

转载 作者:IT王子 更新时间:2023-10-29 00:50:11 26 4
gpt4 key购买 nike

我正在从 PHP 脚本生成 XML 文档,我需要转义 XML 特殊字符。我知道应该转义的字符列表;但是正确的方法是什么?

字符应该只用反斜杠(\')转义还是正确的方法是什么?是否有任何内置的 PHP 函数可以为我处理这个问题?

最佳答案

我创建了使用 five "predefined entities" 转义的简单函数在 XML 中:

function xml_entities($string) {
return strtr(
$string,
array(
"<" => "&lt;",
">" => "&gt;",
'"' => "&quot;",
"'" => "&apos;",
"&" => "&amp;",
)
);
}

使用示例 Demo :

$text = "Test &amp; <b> and encode </b> :)";
echo xml_entities($text);

输出:

Test &amp;amp; &lt;b&gt; and encode &lt;/b&gt; :)

使用 str_replace 可以达到类似的效果,但由于双重替换,它很脆弱(未经测试,不推荐):

function xml_entities($string) {
return str_replace(
array("&", "<", ">", '"', "'"),
array("&amp;", "&lt;", "&gt;", "&quot;", "&apos;"),
$string
);
}

关于php - 在 PHP 中生成 XML 文档(转义字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3957360/

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