【问题标题】:How to add newlines or carriage returns to description on facebook graph API如何在 Facebook 图形 API 上的描述中添加换行符或回车符
【发布时间】:2011-04-24 18:02:23
【问题描述】:

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

我有一个来自 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 论坛上的某个人建议使用 addlashed() 的所有东西......但这似乎对我不起作用

谢谢, -FT

【问题讨论】:

  • 检查 facebook api 以查看描述字段中是否支持换行符。他们很有可能会以其他方式剥离它们。
  • 如果可能的话,我会感到惊讶,他们对墙贴中允许的内容非常严格(实际上什么都不允许)

标签: php facebook newline facebook-php-sdk


【解决方案1】:

我编写了一个简单的函数,在每行文本后添加&amp;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 换行。

【讨论】:

  • 这对我有用,但我需要添加一个 $message .= ' ';返回前
【解决方案2】:

如果您的文本行足够长,并且您将每行中的每个空格替换为不间断空格(“ ”)并在行尾放置一个常规空格,那么这将产生效果将每一行强制转换为新行,例如

这是 一些 示例 文本 等等。 这 是 一些 例子 文本 等等。 这 是 一些 例子 文本 等等。

如果任何行太短,你可以用  字符

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    相关资源
    最近更新 更多