2012-04-10 48 views
7

我有一個簡單的開放圖形功能在我的Facebook應用程序,我張貼在Facebook上的一些動態文本。這裏是我的代碼:如何解決雙引號問題在Facebook或og標題屬性

<!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雙引號[「標題」]變量僅報價之前的部分被髮送到Facebook。我知道爲什麼發生這種情況,但不能想出解決這個問題的辦法。有任何想法嗎?

+0

謝謝大衛。但是你的解決方案造成了突出字符的問題(éè...),所以我嘗試了'<?php echo htmlspecialchars($ _ GET ['title'],ENT_QUOTES); ?>'對我來說效果更好 – Thithi32 2013-07-04 19:28:03

+0

順便說一句,似乎Facebook不喜歡雙引號。在我遇到的每個分享彈出窗口中,第一個雙引號之後的文本被刪除,即使正確的實體編碼。事實上,我建議我的作者使用單引號或「雙角引號」 – DrLightman 2017-08-30 10:49:58

+0

即使使用調試器[鏈接](https://developers.facebook.com/tools/debug/sharing/)它顯示它不會獲取第一個雙引號後面的文字。 – DrLightman 2017-08-30 10:55:42

回答

14

<?php echo htmlentities($_GET['title'], ENT_QUOTES); ?>應該工作嗎?

+0

好點,謝謝! – 2012-04-10 17:55:45