1

PHP、json、および API キャッシュを使用して、Web サイトに Facebook フィード メッセージを正常に表示しました。ただし、一部のメッセージは長すぎて、Web サイトで提供されるスペースに収まりません。

メッセージに表示される単語または文字の量を制限する方法があるかどうかは誰にもわかりませんか?

最良のシナリオは、制限を下回っている場合はメッセージを完全に表示し、特定の量の単語または文字を表示し、その後に [...] 投稿 @pagename の全文を読む

次に、Facebook の投稿へのリンクを追加して、メッセージ全体を表示します。投稿リンクとテキストを追加する方法を知っています。メッセージを縮小するだけです。

私が使用しているPHPコードは次のとおりです。

<?php $fb_message = $fb_json->data[0]->message; ?>
<?php echo $fb_message; ?>

どんな助けでも大歓迎です。

ありがとう、スティーブ


James Pearce のおかげで、次のコードを使用して動作させることができました。

<?php $fb_message = $fb_json->data[0]->message; $truncated = substr($fb_message, 0, strrpos(substr($fb_message, 0, 100), ' ')); echo $truncated . '...'; ?>

メッセージが 100 文字を超える場合は機能しますが、それ未満の場合は最初の単語のみが表示され、それ以上は表示されません....?

私が間違っていることを知っている人はいますか?

4

2 に答える 2

0

Facebook API で文字列を切り捨てる方法はありません。ただし、PHP でこれを行う方法はたくさんあります。

簡単な方法の 1 つは、wordwrap関数 ( http://www.php.net/wordwrap ) を使用して、最初の改行の前にすべてを取得することです。

PHP で文字列を特定の文字数に最も近い単語に切り詰める方法も参照してください。

これはうまくいくようです:

<?php 
    $fb_message = $fb_json->data[0]->message;
    echo array_shift(explode("\n", wordwrap($fb_message, 100)));
?>
于 2012-11-16T00:34:46.697 に答える