代码之家  ›  专栏  ›  技术社区  ›  ftrotter mario

如何在facebook graph api上添加换行符或回车说明

  •  7
  • ftrotter mario  · 技术社区  · 14 年前

    这听起来是个很简单的问题,但我能找到答案,不在哪里。

    我有一个来自文本区的帖子。我想使用当前的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 回复  |  直到 12 年前
        1
  •  2
  •   GStephens    14 年前

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

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

    如果任何行太短,可以用字符填充它们

        2
  •  2
  •   Faraona    12 年前

    我写了一个简单的函数 &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 对于新行。