7

かなり単純な質問のように聞こえますが、答えはどこにもありません。

テキストエリアから投稿があります。そして、現在の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フォーラムの誰かがaddslashed()を提案しました...しかし、それは私にとってはうまくいかなかったようです

ありがとう、-FT

4

2 に答える 2

2

テキスト行が十分に長く、各行の各スペースを改行なしのスペース (" ") に置き換え、行末に通常のスペースを置くと、各行を強制する効果があります。行を新しい行に、例えば

これは いくつかの 例 テキスト などです。これは いくつかの 例 テキスト などです。これは いくつかの 例 テキスト などです。

行が短すぎる場合は、   で埋めることができます。文字

于 2010-12-22T15:48:27.810 に答える
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注: 文字列では、新しい行に使用する必要があります。

于 2012-07-12T13:26:32.673 に答える