导语:这篇文章说一说引号Quote Marks的问题。在WordPress中,有很多的地方都会用到引号,但有时候引号会很奇怪,有时会被忽视掉,而有时则不会。那么我们来看看WordPress官方是怎么解答这个问题的。
问题的英文标题
这个问题的英文标题为:Why are the Quote Marks escaped or not escaped?
问题的答案
来看看我们翻译的答案:
如果你在编写插件或制作高级自定义模板时,你可能发现自己最终会在数据库中处理数据。WordPress为你提供了这种立即可用的方式来管理数据。虽然有些情况下你会遇到一些古怪的问题(特别是当你不通过WordPress直接使用数据库来处理数据时)。
例如,引号不能直接存储在MySQL数据库中。MySQL的SQL语言使用引号。当一个引号被使用时,例如,在一篇文章中。我们将内容保存到数据库中,那么所有被使用的引号都会被忽视掉。这意味着需要在前面加一个反斜杠,表示这是输入的下一个字符,而不是作为SQL命令的一部分。
例如,如果你在你的文章中增加以下内容:
…an article about “Happiness” is at
<a href=”http://example.com/happy” title=”Happiness”>Happiness</a>
if you would like to read it…
实际上是导入到数据库中的,看起来像这样:
…an article about \”Happiness\” is at
<a href=\”http://example.com/happy\” title=\”Happiness\”>Happiness</a>
if you would like to read it…
从数据库中取出的数据,可能不会总是自动删除反斜杠。如果对你而言成为了一个问题,那么你可以在代码中使用php函数stripslashes()。
结束
你学会了吗?没想到引号对于数据库而言也会有这么大的困扰,那么我们在写代码时要注意这个问题。