2010-10-13 4 views
7

Parece una pregunta bastante simple, pero puedo encontrar la respuesta en ningún lugar.Cómo agregar líneas nuevas o retornos de carro a la descripción en el gráfico de Facebook API

Tengo una publicación de un textarea. y quiero utilizar la biblioteca Facebook php actual para hacer lo siguiente ...

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

y hacer que funcione. En este momento parece ignorar

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

pero estoy seguro de que podría haber hecho algo para arruinar mis pruebas .. sólo hay que sustituir 'magia ocurre' con algo que funciona. En este momento solo convierte todas las líneas nuevas que le estoy lanzando a los espacios ... Bastante frustrante. Alguien en los foros de Facebook se sugirió addslashed() de todas las cosas ... pero eso no parece funcionar para mí

Gracias, -FT

+0

Compruebe la API de Facebook para ver si las líneas nuevas incluso se admiten en el campo de descripción. Lo más probable es que los estén despojando de lo contrario. – Fanis

+0

Me sorprendería si fuera posible, son muy estrictos con lo que está permitido en las publicaciones en el muro (nada está permitido en realidad) – serg

Respuesta

2

Si sus líneas de texto son lo suficientemente largos, y que sustituya cada espacio en cada línea con un espacio sin interrupción ("& nbsp;") y poner un espacio regular al final de la línea, entonces esto tendrá el efecto de forzar cada línea en una nueva línea, por ejemplo

Este & nbsp; nbsp es &, algunos & nbsp; nbsp & ejemplo, texto en & nbsp; etc. Este & nbsp; es & nbsp; algunos & nbsp; ejemplo & nbsp; texto & nbsp; etc. Este & nbsp; es & nbsp; algunos & nbsp; ejemplo & nbsp; texto & nbsp; etc.

Si las líneas son demasiado cortas, puede rellenarlas con & nbsp; caracteres

2

Escribo la función simple que agrega &nbsp; después de cada texto de la fila.

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

NOTA: en la cadena debe utilizar \n de nuevas líneas.

+0

Esto funcionó para mí, pero necesito agregar un $ mensaje. = ''; antes del regreso – marcostrama

Cuestiones relacionadas