7

我的 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。我知道为什么会发生这种情况,但想不出任何解决这个问题的方法。有任何想法吗?

4

2 回答 2

16

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

于 2012-04-10T17:52:30.150 回答
0

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

title = post.title.replace('"', '&quot;')
于 2020-07-24T13:46:20.413 回答