我正在将数据库中的内容显示到xml文件。其中一些特殊字符显示为.. 世界,rdquo,Caper,rdquo,donrs,ldhe,ndash,Isnrs。
我们如何删除此角色。请告诉我解决方案。
答案 0 :(得分:1)
如果您有特定的“特殊字符”设置(仅限于),则定义这些字/字符的数组,然后将其替换为空白值。
例如:
$splChar = array("world","rdquo","Caper","rdquo","donrs","ldhe","ndash","Isnrs");
$requiredContent = str_ireplace($splChar, "", $yourContent);
注意:这里str_ireplace是不区分大小写的
答案 1 :(得分:1)
“特殊字符” 是正确的,因为在XML文档中不允许使用原始演示文稿。
请考虑以下链接:http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
使用XML文件时,您可以通过XML库自动转回字符,也可以使用html_entity_decode()
- http://www.php.net/manual/en/function.html-entity-decode.php
因此,当您想要在XML文档中更改它们时,这违反了XML文档的规则。你不想改变它们。您不需要来更改它们。如果您不想要这些字符,请不要使用XML。然后使用自定义CSV或任何不包含格式转义字符的内容。
如果要在处理XML文件后更改字符:
echo html_entity_decode((string)$xml->node);
答案 2 :(得分:-1)
如果您想替换特殊字符,请使用preg_replace()
$string="a$#rsdg123^";
echo preg_replace('/[^A-Za-z0-9\-\']/', '', $string);
输出:arsdg123