如何在Facebook图形API上添加换行符或回车到描述

时间:2010-10-13 09:28:45

标签: php facebook newline facebook-php-sdk

这听起来像一个非常简单的问题,但我找不到答案。

我有一篇来自textarea的帖子。我想使用当前的facebook php库来执行以下操作...

$description = $_POST['textarea_description'];

//magic happens

$attachment =  array(
'access_token' => $token,
'message' => "$title",
'picture' => "$image_url",
'link' => "$action_link",
'name' => "$action_label",
'caption' => "$caption",
'actions' => $action_json,
'description' => "$description",
 );

$facebook->api('/'.$my_uid.'/feed', 'POST', $attachment);

并让它工作。现在它似乎忽略了

<br> <br /> \n \r \n\r \r\n

但我相信我可能已经做了一些事情来搞砸我的测试......我只需要用有效的东西取代'魔术发生'。现在它只是将我投掷的所有新行转换为空格。非常令人沮丧。 facebook论坛上的某人建议添加所有内容的所有内容......但这似乎对我不起作用

谢谢, -FT

2 个答案:

答案 0 :(得分:2)

如果您的文字行足够长,并且您使用不间断的空格(“&amp; nbsp;”)替换每行中的每个空格并在该行的末尾放置一个常规空格,那么这将有强迫每一行进入新行的效果,例如

此&安培; NBSP;是&安培; NBSP;一些&安培; NBSP;例子&安培; NBSP;文本&安培; NBSP,等等。 这和放大器; NBSP;&是放大器; NBSP;&有些功放; NBSP;&例如放大器; NBSP;文字和放大器; NBSP;等等。 这&安培; NBSP;是&安培; NBSP;一些&安培; NBSP;例子&安培; NBSP;文本&安培; NBSP;等

如果任何行太短,你可以用&amp; nbsp;来填充它们。字符

答案 1 :(得分:2)

我编写了简单的函数,在每行文本之后添加&nbsp;

public static function fbLinkDescriptionNewLines($string){
    $parts = explode("\n", $string);
    $row_limit = 60;

    $message = '';
    foreach($parts as $part){
      $str_len = strlen($part);
      $diff = ($row_limit - $str_len);

      $message .= $part;

      for($i=0; $i <= $diff; $i++){
        $message .= '&nbsp;';
      }
   }
    return $message;
}

注意:在您的字符串中,您必须使用\n作为新行。