我只想在标签中添加任何字符串。
我正在使用此代码来转义字符串:
$name = $this->_dom->createElement('name', htmlspecialchars($userName, ENT_COMPAT,'utf-8'));
$item->appendChild($name);
我遇到了一个问题,我的一个用户在名称字段中添加了一些特定符号,并且整个xml Feed都被破坏了。我怎么必须逃脱字符串?
感谢您的帮助,抱歉我的英语不好......
答案 0 :(得分:2)
我认为使用createTextNode添加xml节点的值而不是将其作为createElement的参数传递可以解决您的问题。
答案 1 :(得分:0)
我的解决方案:
$title = $this->_dom->createElement('title',
htmlspecialchars($playlist->getTitle(),
ENT_DISALLOWED, 'utf-8')
);
当您输出xml时,您必须删除�(REPLACEMENT CHARACTER),请参阅有关ENT_DISALLOWED的this相关链接:
echo str_replace('�', '', $this->_dom->saveXML());
这种方式允许我们显示任何带有html实体和/或特殊字符的字符串。