How to add newlines or carriage returns to description on facebook graph API

久未见 提交于 2019-12-08 18:56:26

问题


It sounds like a pretty simple question but I can find the answer no where.

I have a post from a textarea. and I want to use the current facebook php library to do the following...

$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);

and have it work. Right now it seems to ignore

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

but I am sure I might have done something to screw up my testing.. I just need to replace 'magic happens' with something that works. Right now it just converts all of the newlines I am throwing at it to spaces.. Pretty frustrating. Someone on the facebook forums suggested addslashed() of all things... but that did not seem to work for me

Thanks, -FT


回答1:


If your lines of text are long enough, and you replace each space in each line with a non-breaking space ("&nbsp;") and put a regular space at the end of the line, then this will have the effect of forcing each line onto a new line, e.g.

This&nbsp;is&nbsp;some&nbsp;example&nbsp;text&nbsp;etc. This&nbsp;is&nbsp;some&nbsp;example&nbsp;text&nbsp;etc. This&nbsp;is&nbsp;some&nbsp;example&nbsp;text&nbsp;etc.

If any lines are too short, you can pad them out with &nbsp; chars




回答2:


I write simple function which add &nbsp; after every row text.

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

NOTE: in your string you must use \n for new lines.



来源:https://stackoverflow.com/questions/3922301/how-to-add-newlines-or-carriage-returns-to-description-on-facebook-graph-api

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!