我的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); ?>
应该工作?
如果有人在使用其他编程语言时遇到同样的问题,只需将"
替换为"
例如使用python:
title = post.title.replace('"', '"')