如何解决脸书OG标题属性中的双引号问题


how to solve double quotes issue in facebook og title property

我的Facebook应用程序上有一个简单的打开图形功能,我在Facebook上发布了一些动态文本。这是我的代码:

<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml">
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# APP: http://ogp.me/ns/fb/APP#">
  <meta property="fb:app_id"      content="00000000000000" /> 
  <meta property="og:type"        content="XXX:XXX" /> 
  <meta property="og:url"         content="http://example.com" /> 
  <meta property="og:title"       content="<?php echo $_GET['title']; ?>" />
  <meta property="og:description" content=" " /> 
  <meta property="og:image"       content="<?php echo $_GET['image']; ?>" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

问题是,当$_GET['title']变量中有双引号时,只有该引号之前的部分才会发送到Facebook。我知道为什么会发生这种情况,但想不出这个问题的任何解决方案。有什么想法吗?

<?php echo htmlentities($_GET['title'], ENT_QUOTES); ?>应该工作?

如果有人在使用其他编程语言时遇到同样的问题,只需将"替换为&quot;例如使用python:

title = post.title.replace('"', '&quot;')