这听起来像一个非常简单的问题,但我找不到答案。
我有一篇来自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
答案 0 :(得分:2)
如果您的文字行足够长,并且您使用不间断的空格(“&amp; nbsp;”)替换每行中的每个空格并在该行的末尾放置一个常规空格,那么这将有强迫每一行进入新行的效果,例如
此&安培; NBSP;是&安培; NBSP;一些&安培; NBSP;例子&安培; NBSP;文本&安培; NBSP,等等。 这和放大器; NBSP;&是放大器; NBSP;&有些功放; NBSP;&例如放大器; NBSP;文字和放大器; NBSP;等等。 这&安培; NBSP;是&安培; NBSP;一些&安培; NBSP;例子&安培; NBSP;文本&安培; NBSP;等
如果任何行太短,你可以用&amp; nbsp;来填充它们。字符
答案 1 :(得分:2)
我编写了简单的函数,在每行文本之后添加
。
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 .= ' ';
}
}
return $message;
}
注意:在您的字符串中,您必须使用\n
作为新行。