Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Facebook Graph API-如何使用新行发布到墙上?_Php_Facebook_Facebook Graph Api - Fatal编程技术网

Php Facebook Graph API-如何使用新行发布到墙上?

Php Facebook Graph API-如何使用新行发布到墙上?,php,facebook,facebook-graph-api,Php,Facebook,Facebook Graph Api,我正在玩Facebook Graph API,我面临着一个问题——我找不到任何方法用一些HTML代码或新行发布到墙上。如何做到这一点? 这是我的密码 <?php include_once 'lib/facebook.php'; define("FACEBOOK_APP_ID", '10126'); define("FACEBOOK_API_KEY", '064ca1988b'); define("FACEBOOK_SECRET_KEY", '9afdf92114'); define("FA

我正在玩Facebook Graph API,我面临着一个问题——我找不到任何方法用一些HTML代码
或新行
发布到墙上。如何做到这一点? 这是我的密码

<?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>";
}
?>

您不能在墙柱中包含任何标记或新行。您过去可以提供一些FBML标记来获得一些基本格式,但这被滥用了。如果你能加入html和新行,Facebook的个人资料就会开始看起来像MySpace的个人资料


出于安全考虑,Facebook几乎会对所有的墙/个人资料内容进行清理。

尽管在回答之前关于墙贴中换行符的问题时提到了所有这些内容,但在使用PHP制作帖子时,我从来没有遇到过仅仅使用转义符的问题

array('message'=>'试图在此处换行\n
两者都不起作用…
当然,如果您在PHP中使用单引号填充消息参数,\n意味着只有两个字符\和n–这些转义序列只有在使用双引号时才会解释,这是绝对基本的PHP语法知识

哦!

这很有效

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行
第2行
第3行


注意:对于希望了解此更新的用户,前后均无空格。
我正在使用PHPSDK,只要它用双引号(“”)括起来,\n就可以工作。单引号不起作用

因此,我从一个小型mce盒中获取数据,并执行以下操作:

$message = preg_replace("/<br \/>/","\n",$tiny_mce_message); // the \n must be in ""!
$message = strip_tags($message);
$this->message = utf8_encode($message);
$message=preg\u replace(“/”、“\n”、$tiny\u mce\u message);//该\n必须在“”中!
$message=带标签($message);
$this->message=utf8\u encode($message);

换行符(ASCII码10)起作用。

这是您的解决方案
%0A
将其插入文本,它将充当换行符:)

您可能希望从代码示例中删除api/密钥(不确定是否有人可以使用它)。我以前编辑过它,真正的代码超过32个字符longAh ok,不知道每种情况下都必须有32个字符长:)嗯,那太糟糕了。但有些应用程序,比如这样,确实包含链接。如何获取?有很多方法可以将链接获取到提要中。但是您必须使用facebook数据结构。我猜他们正在使用帖子的“属性”属性。这将给你一个链接列表,每一个都在一个新行上。哈哈。我们都在寻找html答案,Facebook就像老兄一样,按回车键,我们会很荣幸的。工作得很有魅力。谢谢谢谢,这让我的台词中断了!
$message = preg_replace("/<br \/>/","\n",$tiny_mce_message); // the \n must be in ""!
$message = strip_tags($message);
$this->message = utf8_encode($message);