如何在php中存储和检索带有特殊字符的字符串?

时间:2013-06-12 12:24:01

标签: php

如何使用php以这种格式存储和检索字符串,我尝试了以下代码,

   $description="Welcome to our "world". Some text here! Some text'here!.";

   $description = mysql_real_escape_string($description);

   $description = preg_replace("/&[a-z]+;/i"," ",$description); 

我使用相同的变量$description来存储和检索数据库中的值。在我的代码中不打印单引号。

需要检索输出:
Welcome to our "world". Some text here! Some text'here!.

感谢。

3 个答案:

答案 0 :(得分:1)

您的代码目前会出错。如果在用"字符分隔的字符串文字中包含"字符,则必须将它们转义为数据,而不是字符串的结尾。

$description="Welcome to our \"world\". Some text here! Some text'here!.";
  

我使用相同的变量$ description来存储和检索数据库中的值

如果您在将数据插入数据库时​​遇到问题,那么您应该包含您尝试使用的代码。

您不应该使用mysql_real_escape_string(用于在使用an obsolete database API时准备将数据插入MySQL数据库中)。使用modern APIparameterized queries。)

您无需从字符串中删除HTML实体。 (你的例子无论如何都没有)。如果您正在处理用户输入数据,那么您应该使用非破坏性的方式来处理它们(这通常意味着,如果您想将输入视为文本,请立即使用htmlspecialchars 转义它们/ em>在将它们插入HTML文档之前(而不是在将它们插入数据库之前)。

答案 1 :(得分:0)

$description="Welcome to our "world". Some text here! Some text'here!.";


should be

$description="Welcome to our \"world\". Some text here! Some text'here!.";

答案 2 :(得分:0)

您是否可以使用ADOdb?这将抽象db实现细节,我认为你需要的功能是内置的。