我正在使用Facebook Graph API并且我遇到了一个问题 - 我找不到任何方法如何使用一些HTML代码or
新行发布到墙上。怎么做?
这是我的代码
<?php
include_once 'lib/facebook.php';
define("FACEBOOK_APP_ID", '10126');
define("FACEBOOK_API_KEY", '064ca1988b');
define("FACEBOOK_SECRET_KEY", '9afdf92114');
define("FACEBOOK_CANVAS_URL", 'http://apps.facebook.com/my_canv_app/');
if (isset($_GET['code'])){
header("Location: " . FACEBOOK_CANVAS_URL);
exit;
}
$facebook = new Facebook(array('appId' => FACEBOOK_APP_ID, 'secret' => FACEBOOK_SECRET_KEY));
$user = $facebook->getUser();
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'email,publish_stream,user_birthday,user_location,user_about_me,user_hometown'
)
);
if (!$user) {
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
$statusUpdate = $facebook->api('/me/feed', 'post', array('message'=> 'Trying to make new line here \n <br /> Neither works', 'cb' => ''));
} catch (FacebookApiException $e) {
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
}
?>
我怎么能这样做?
答案 0 :(得分:6)
这很有效。
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
$statusUpdate = $facebook->api('/me/feed', 'post', array('message'=> 'Line 1
Line 2
Line 3
Line 4',
'cb' => ''));
答案 1 :(得分:4)
您不能在墙上的帖子中添加任何标记或新行。您曾经能够提供一些FBML标记来获得一些基本的格式,但这被滥用了。如果您可以包含html和新行,Facebook个人资料将开始看起来像MySpace个人资料。
出于安全考虑,Facebook几乎清理所有墙/个人资料内容。
答案 2 :(得分:2)
尽管在回答之前关于墙上帖的换行符的问题时已经说过所有的内容 - 但在使用PHP发布帖子时,我只是使用转义字符\n
时没有任何问题。
array('message'=> 'Trying to make new line here \n <br /> Neither works', …
当然,如果您使用单个引号在PHP中填充消息参数,\ n仅表示两个字符\和n - 这些转义序列仅在使用 double时解释引用,是绝对基本的PHP语法知识......
D'哦!的
答案 3 :(得分:1)
这是您的解决方案%0A
将其插入到您的文字中,它将作为换行符:)
答案 4 :(得分:0)
把这个
&LT;中心&gt;&lt; / center&gt;
到你要破线的地方
前:
LINE1&LT;中心&gt;&lt; / center&gt; line2&lt;中心&gt;&lt; / center&gt; line3
注意:&lt;之前和之后没有空格&GT;
答案 5 :(得分:0)
对于那些想要对此进行更新的人 我正在使用PHP SDK并且\ n只要用双引号(“”)括起来就可以工作。单引号不起作用。
所以,我从一个小的mce盒子里取出我的数据,然后我这样做了:
$message = preg_replace("/<br \/>/","\n",$tiny_mce_message); // the \n must be in ""!
$message = strip_tags($message);
$this->message = utf8_encode($message);
答案 6 :(得分:0)
换行符(ASCII码10)可以解决问题。