如何使用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!.
感谢。
答案 0 :(得分:1)
您的代码目前会出错。如果在用"
字符分隔的字符串文字中包含"
字符,则必须将它们转义为数据,而不是字符串的结尾。
$description="Welcome to our \"world\". Some text here! Some text'here!.";
我使用相同的变量$ description来存储和检索数据库中的值
如果您在将数据插入数据库时遇到问题,那么您应该包含您尝试使用的代码。
您不应该使用mysql_real_escape_string
(用于在使用an obsolete database API时准备将数据插入MySQL数据库中)。使用modern API和parameterized 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实现细节,我认为你需要的功能是内置的。