2017-05-22 5 views
1

文字列の最後に達したかどうかを判断する方法はありますか? は今、私は、表示する文字の数を制限するには、このPHP関数PHPの文字列の終わりを確認する

<?php echo substr('some text', 0, 7)?> 

を使用しています。テキストに "..."を追加したいのですが、文字列の最後でない場合に限ります。

「ハロー!」というテキストがあると、それは全部を表示し、 "決定する"というテキストがあれば、それは "Determi"を表示するだけでなく、 "Determi ..."のような "..."を加えることになります。

私はこれらの楕円とオーバーフローの方法を試みましたが、私のためにはうまくいかなかったのです。

上記のようなことは可能でしょうか?

+0

あなたは[strlen関数に見たことが](http://php.net/manual/en/function.strlen.php)?それを使って、あなたが望む長さを比較することができます。 – aynber

答えて

5

あなたをエコー組み込み関数mb_strimwidthでこれを達成することができます

<?php 
echo mb_strimwidth("some text", 0, 7, "...") 
// output: "some te..." 
?> 
+0

ああ素敵なことを知らなかった! –

+0

本当にニース。小さくて簡単な機能があることを知っておいてよかった! – anthony

3

あなたはこのような何か行うことができます:文字列が7つの以上の文字を持っている場合は、あなただけの最初の7つのものをエコーし​​、追加

<?php echo (strlen($text) > 7 ? (substr($text, 0, 7) . '...') : $text) ?> 

を...、そうでなければ、単なるテキスト

0
function trimStr($str, $len = 7) { 
    return strlen($str) > $len ? substr($str, 0, $len) . '...' : $str; 
} 
関連する問題