Facebook Graph API – Как разместить на стене, с новыми линиями?

Я играю с API-интерфейсом Facebook Graph, и я столкнулся с одной проблемой – я не могу найти способ публикации на стене с помощью HTML-кода or новых строк. Как это можно сделать? Вот мой код

 <?php include_once 'lib/facebook.php'; define("FACEBOOK_APP_ID", '10126'); define("FACEBOOK_API_KEY", '064ca1988b'); define("FACEBOOK_SECRET_KEY", '9afdf92114'); define("FACEBOOK_CANVAS_URL", 'http://apps.facebook.com/my_canv_app/'); if (isset($_GET['code'])){ header("Location: " . FACEBOOK_CANVAS_URL); exit; } $facebook = new Facebook(array('appId' => FACEBOOK_APP_ID, 'secret' => FACEBOOK_SECRET_KEY)); $user = $facebook->getUser(); $loginUrl = $facebook->getLoginUrl( array( 'scope' => 'email,publish_stream,user_birthday,user_location,user_about_me,user_hometown' ) ); if (!$user) { echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>"; exit; } try { $uid = $facebook->getUser(); $me = $facebook->api('/me'); $statusUpdate = $facebook->api('/me/feed', 'post', array('message'=> 'Trying to make new line here \n <br /> Neither works', 'cb' => '')); } catch (FacebookApiException $e) { echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>"; } ?> 

как я мог это сделать?

Вы не можете включать какие-либо разметки или новые строки в столбиках. Раньше вы могли предоставить некоторую разметку FBML, чтобы получить некоторое базовое форматирование, но это стало злоупотреблять. Если вы можете включить html и новые строки, профили Facebook начнут выглядеть как профили MySpace.

Из-за соображений безопасности Facebook в значительной степени санирует весь контент на стене / профиле.

Это работает.

 try { $uid = $facebook->getUser(); $me = $facebook->api('/me'); $statusUpdate = $facebook->api('/me/feed', 'post', array('message'=> 'Line 1 Line 2 Line 3 Line 4', 'cb' => '')); 

Несмотря на все, что было сказано в ответах на предыдущие вопросы, касающиеся новых строк в стенных сообщениях – у меня никогда не возникало проблем с использованием escape-символа \n при создании сообщений с использованием PHP.

 array('message'=> 'Trying to make new line here \n <br /> Neither works', … 

Конечно, если вы заполняете свой параметр сообщения в PHP с помощью одинарных кавычек, \ n означает только два символа \ и n – что эти escape-последовательности интерпретируются только при использовании двойных кавычек, это абсолютно базовое знание синтаксиса PHP …

D'о!

положи это

<center> </ center>

где вы хотите разбить линию

например:

line1 <center> </ center> line2 <center> </ center> line3

ПРИМЕЧАНИЕ: нет пробелов до и после <>

Для тех, кто хотел бы обновить это.
Я использую PHP SDK и \ n работает до тех пор, пока он заключен в двойные кавычки (""). Одиночные кавычки не будут работать.

Итак, я беру данные из крошечного ящика mce, и я делаю это:

 $message = preg_replace("/<br \/>/","\n",$tiny_mce_message); // the \n must be in ""! $message = strip_tags($message); $this->message = utf8_encode($message); 

Символ новой строки (код ASCII 10) выполняет трюк.

Это ваше решение %0A вставьте его в текст, и оно будет действовать как разрыв строки 🙂