0
Facebookのshow more
のような機能を持たせようとしています。 文字列をトリムする場合:URLのある文字列のFacebookのような[詳細を表示]ボタン
- 長さが200文字を超えています。
- 5つ以上のものがあります。
/n
それは簡単に聞こえると私はすでに初期の機能を持っている(つまり、長さだけでそれをしない、私はまだ/n
出現を実装していない):
function contentShowMore($string, $max_length) {
if(mb_strlen($string, 'utf-8') <= $max_length) {
return $string; // return the original string if haven't passed $max_length
} else {
$teaser = mb_substr($string, 0, $max_length); // trim to max length
$dots = '<span class="show-more-dots"> ...</span>'; // add dots
$show_more_content = mb_substr($string, $max_length); // get the hidden content
$show_more_wrapper = '<span class="show-more-content">'.$show_more_content.'</span>'; // wrap it
return $teaser.$dots.$show_more_wrapper; // connect all together for usage on HTML.
}
}
問題は、文字列が含まれる場合がありますということですURLに変換されます。長さ、改行をチェックし、URLを切断しない機能的なshow-more
ボタンを作る方法を見つける必要があります。
ありがとうございました!
例:
入力:contentShowMore("hello there http://google.com/ good day!", 20)
。
出力:私はしたい
hello there http://g
<span class="show-more-dots"> ...</span>
<span class="show-more-content">oogle.com/ good day!</span>
出力:
hello there http://google.com/
<span class="show-more-dots"> ...</span>
<span class="show-more-content"> good day!</span>
あなたの入力と予想される出力を共有できますか? –
この関数は多くの人に実行されるため、特定の入力と出力はありません。しかし、私は例を挙げることができます。 –
第二引数を '20'として渡してもらえますか、それをどうやって取得しているのか、私はあなたを理解しやすくするために、あなたを助けてくれるでしょうか? –