2010-10-13 1 views
7

Это звучит довольно простой вопрос, но я не могу найти ответ где нет.Как добавить символы новой строки или каретки в описание на графике facebook API

У меня есть сообщение из текстового поля. и я хочу использовать текущую библиотеку php facebook, чтобы сделать следующее ...

$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 форумах предложил addslashed() всех вещей ... но это не похоже на работу для меня

Спасибо, -Ft

+0

Проверьте фейсбук api, чтобы увидеть, поддерживаются ли новые строки в поле описания. Скорее всего, они лишают их в противном случае. – Fanis

+0

Я был бы удивлен, если это возможно, они очень строги к тому, что разрешено в стенах (фактически ничего не разрешено) – serg

ответ

2

Если строки текста достаточно долго, и заменить все пробел в каждой строке с неразрывным пространством («& nbsp;») и поместите регулярное пространство в конец строки, тогда это приведет к принудительному выходу каждой строки на новую строку, например

Это & NBSP; является & NBSP, некоторые & NBSP; пример & NBSP; текст & NBSP; и т.д.. Этот & nbsp; - & nbsp; some & nbsp; пример & nbsp; текст & nbsp; etc. Этот & nbsp; - & nbsp; some & nbsp; пример & nbsp; текст & nbsp; etc.

Если какие-либо строчки слишком короткие, вы можете выставить их с помощью & nbsp; chars

2

Я пишу простую функцию, которая добавляет &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 для новых линий.

+0

Это сработало для меня, но мне нужно добавить $ message. = ''; до возвращения – marcostrama

Смежные вопросы