如何在PHP的XML输出中转义商标和版权字符
我的PHP应用程序正在输出一个XML文件,其中一些输出可能包含商标和/或版权字符。有没有办法在输出中转义这些字符如何在PHP的XML输出中转义商标和版权字符,php,xml,Php,Xml,我的PHP应用程序正在输出一个XML文件,其中一些输出可能包含商标和/或版权字符。有没有办法在输出中转义这些字符 谢谢 在XML中需要转义的唯一特殊字符是: - && “-” ”——&apos;/' 可以在属性值或文本节点中使用转义变量。以下两个示例表示相同的内容 <foo><Hello@World></foo> <foo><![CDATA[<Hello@World>]]></foo&
谢谢 在XML中需要转义的唯一特殊字符是:
<-
>-
&&代码>
“-”
”——&apos;/'代码>
<foo><Hello@World></foo>
<foo><![CDATA[<Hello@World>]]></foo>
输出:
<?xml version="1.0" encoding="UTF-8"?>
<foo><©€äöü></foo>
<?xml version="1.0" encoding="ASCII"?>
<foo><©€äöü></foo>
©€äöü
在ASCII中,将忽略更多内容:
$dom = new DOMDocument('1.0', 'ASCII');
$dom->appendChild($dom->createElement('foo'));
$dom->documentElement->appendChild($dom->createTextNode('<©€äöü>'));
echo $dom->saveXml();
$dom=newdomdocument('1.0','ASCII');
$dom->appendChild($dom->createElement('foo'));
$dom->documentElement->appendChild($dom->createTextNode(“”));
echo$dom->saveXml();
输出:
<?xml version="1.0" encoding="UTF-8"?>
<foo><©€äöü></foo>
<?xml version="1.0" encoding="ASCII"?>
<foo><©€äöü></foo>
©€äöü
在XML中需要转义的唯一特殊字符是:
<-
>-
&&代码>
“-”
”——&apos;/'代码>
<foo><Hello@World></foo>
<foo><![CDATA[<Hello@World>]]></foo>
输出:
<?xml version="1.0" encoding="UTF-8"?>
<foo><©€äöü></foo>
<?xml version="1.0" encoding="ASCII"?>
<foo><©€äöü></foo>
©€äöü
在ASCII中,将忽略更多内容:
$dom = new DOMDocument('1.0', 'ASCII');
$dom->appendChild($dom->createElement('foo'));
$dom->documentElement->appendChild($dom->createTextNode('<©€äöü>'));
echo $dom->saveXml();
$dom=newdomdocument('1.0','ASCII');
$dom->appendChild($dom->createElement('foo'));
$dom->documentElement->appendChild($dom->createTextNode(“”));
echo$dom->saveXml();
输出:
<?xml version="1.0" encoding="UTF-8"?>
<foo><©€äöü></foo>
<?xml version="1.0" encoding="ASCII"?>
<foo><©€äöü></foo>
©€äöü
请描述迄今为止您为实现所需功能所采取的步骤。为什么要逃避这些步骤?它们在XML中没有特殊意义。您只需要在使用字符编码时保持一致。请描述到目前为止您为实现所需功能而采取的步骤。为什么要逃避这些步骤?它们在XML中没有特殊意义。您只需要在使用字符编码时保持一致;和®;我成功了!谢谢大家的帮助!!!将特殊字符替换为;和®;我成功了!谢谢大家的帮助!!!