0

如何使用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!.

谢谢。

4

3 回答 3

1

就目前而言,您的代码会出错。如果您"在用字符分隔的字符串文字中包含一个字符,"那么您必须对它们进行转义,以便它们计为数据而不是字符串的结尾。

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

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

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

您不应该使用(这是在您使用过时的数据库 APImysql_real_escape_string时准备要插入 MySQL 数据库的数据)。使用现代 API参数化查询。)

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

于 2013-06-12T12:26:34.783 回答
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!.";
于 2013-06-12T12:26:34.530 回答
0

你有可能使用ADOdb吗?这将抽象数据库实现细节,我认为您需要的功能是内置的。

于 2013-06-12T12:40:36.753 回答