Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP的XML输出中转义商标和版权字符_Php_Xml - Fatal编程技术网

如何在PHP的XML输出中转义商标和版权字符

如何在PHP的XML输出中转义商标和版权字符,php,xml,Php,Xml,我的PHP应用程序正在输出一个XML文件,其中一些输出可能包含商标和/或版权字符。有没有办法在输出中转义这些字符 谢谢 在XML中需要转义的唯一特殊字符是: - && “-” ”——&apos;/' 可以在属性值或文本节点中使用转义变量。以下两个示例表示相同的内容 <foo>&lt;Hello@World&gt;</foo> <foo><![CDATA[<Hello@World>]]></foo&

我的PHP应用程序正在输出一个XML文件,其中一些输出可能包含商标和/或版权字符。有没有办法在输出中转义这些字符


谢谢

在XML中需要转义的唯一特殊字符是:

  • <-
  • >-
  • &&
  • “-”
  • ”——&apos;/'
可以在属性值或文本节点中使用转义变量。以下两个示例表示相同的内容

<foo>&lt;Hello@World&gt;</foo>
<foo><![CDATA[<Hello@World>]]></foo>
输出:

<?xml version="1.0" encoding="UTF-8"?>
<foo>&lt;©€äöü&gt;</foo>
<?xml version="1.0" encoding="ASCII"?>
<foo>&lt;&#169;&#8364;&#228;&#246;&#252;&gt;</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>&lt;©€äöü&gt;</foo>
<?xml version="1.0" encoding="ASCII"?>
<foo>&lt;&#169;&#8364;&#228;&#246;&#252;&gt;</foo>

©€äöü

在XML中需要转义的唯一特殊字符是:

  • <-
  • >-
  • &&
  • “-”
  • ”——&apos;/'
可以在属性值或文本节点中使用转义变量。以下两个示例表示相同的内容

<foo>&lt;Hello@World&gt;</foo>
<foo><![CDATA[<Hello@World>]]></foo>
输出:

<?xml version="1.0" encoding="UTF-8"?>
<foo>&lt;©€äöü&gt;</foo>
<?xml version="1.0" encoding="ASCII"?>
<foo>&lt;&#169;&#8364;&#228;&#246;&#252;&gt;</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>&lt;©€äöü&gt;</foo>
<?xml version="1.0" encoding="ASCII"?>
<foo>&lt;&#169;&#8364;&#228;&#246;&#252;&gt;</foo>

©€äöü

请描述迄今为止您为实现所需功能所采取的步骤。为什么要逃避这些步骤?它们在XML中没有特殊意义。您只需要在使用字符编码时保持一致。请描述到目前为止您为实现所需功能而采取的步骤。为什么要逃避这些步骤?它们在XML中没有特殊意义。您只需要在使用字符编码时保持一致;和®;我成功了!谢谢大家的帮助!!!将特殊字符替换为™;和®;我成功了!谢谢大家的帮助!!!