2010-10-13 6 views
7

Es klingt wie eine ziemlich einfache Frage, aber ich kann die Antwort nirgendwo finden.Wie Zeilenumbrüche oder Wagenrücklauf zu Beschreibung auf Facebook Grafik API hinzufügen

Ich habe einen Beitrag von einem Textarea. und ich möchte die aktuelle facebook php-Bibliothek verwenden, um Folgendes zu tun ...

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

und es funktioniert. Im Augenblick scheint es

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

zu ignorieren, aber ich bin sicher, ich könnte etwas getan habe meine Prüfung vermasseln .. Ich muss nur ersetzen ‚Magie geschieht‘ mit etwas, das funktioniert. Im Moment konvertiert es nur alle Zeilenumbrüche, die ich auf Leerzeichen geworfen habe. Ziemlich frustrierend. Jemand auf der Facebook-Foren vorschlug addslashed() aller Dinge ... aber das scheint nicht für mich

Dank zu arbeiten, -FT

+0

Überprüfen Sie die Facebook API, um zu sehen, ob Zeilenumbrüche im Beschreibungsfeld sogar unterstützt werden. Die Chancen stehen gut, dass sie sie sonst ausradieren. – Fanis

+0

Ich würde mich wundern, wenn es möglich ist, sind sie sehr streng, was in Wand Beiträge erlaubt ist (nichts ist tatsächlich erlaubt) – serg

Antwort

2

Wenn Ihre Textzeilen lang genug sind, und Sie ersetzen jedes Platz in jeder Zeile mit einem nichtbrechenden Leerzeichen ("& nbsp;") und setzen Sie einen regulären Platz am Ende der Zeile, dann wird dies bewirken, dass jede Zeile auf eine neue Zeile gezwungen wird, z

Diese & nbsp; ist & nbsp; einige & nbsp; Beispiel & nbsp; Text & nbsp; etc. Diese & nbsp; ist & nbsp; einige & nbsp; Beispiel & nbsp; Text & nbsp; etc. Diese & nbsp; ist & nbsp; einige & nbsp; Beispiel & nbsp; Text & nbsp; etc.

Sollten Linien zu kurz sind, können Sie Pad sie aus mit & nbsp; Zeichen

2

Ich schreibe einfache Funktion, die &nbsp; nach jeder Zeile Text hinzufügen.

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

HINWEIS: in der Zeichenfolge Sie \n für neue Linien verwenden.

+0

Dies funktionierte für mich, aber ich muss eine $ Nachricht hinzufügen. = ''; vor der Rückkehr – marcostrama