如何从mysql数据中删除特殊字符?

时间:2014-03-24 11:48:19

标签: php

我正在将数据库中的内容显示到xml文件。其中一些特殊字符显示为..                        世界,rdquo,Caper,rdquo,donrs,ldhe,ndash,Isnrs。

我们如何删除此角色。请告诉我解决方案。

3 个答案:

答案 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