我使用mysql_real_escape_string()
在数据库中保存了一些数据,因此单引号会像'
一样进行转义。它在浏览器中看起来没问题,但是当我将文本保存在txt文件中时,如何将其转换回单引号?
答案 0 :(得分:4)
请注意,mysql_real_escape_string()
不 将撇号'
变为'
只有面向HTML的函数才能执行,因此您必须在你的剧本的某个地方打电话给htmlentities()
。
至于你的问题,你正在寻找的功能是html_entity_decode()
echo html_entity_decode(''', ENT_QUOTES);
答案 1 :(得分:2)
这就是为什么不应该将编码文本存储在数据库中的原因。您应该以原始格式存储它,并在显示时对其进行编码。
现在你必须检查函数编码的字符,并以相反的顺序编写将其转换回的字符串替换。
伪代码示例:
s = Replace(s, "'", "'")
s = Replace(s, "<", "<")
s = Replace(s, ">", ">")
s = Replace(s, "&", "&")
答案 2 :(得分:-1)
这只是“'”的ascii值,使用chr将其恢复为角色。这是代码
$string = "Hello ' Man";
$string = preg_replace('|&#(\d{1,3});|e', 'chr(\1)', $string);
echo $string; # Hello ' Man