0

たとえば、次のようなテキストがあります。

$str = 'Hi there bla bla';

$str に substr 関数を使用しました

substr($str, 0 , 20);

全文を取得しましたが、より長いテキストがある場合は、次のように言いましょう。

$str = "Hi there bla bla Hi there bla bla Hi there bla bla";
$substred = substr($str, 20, 21);

使えると思った

if ($substred) { echo "..."; };

しかし、それは機能していません..?

4

6 に答える 6

4
  1. 災害を防ぐために、削除する文字列にこの20文字が含まれているかどうかを常に確認してください
  2. チェックする...と、文字列に追加する条件を簡単に追加できます

コード:

if (strlen($string) > 20) {
   $string = substr($string, 0, 20) . "..."; }
于 2013-03-31T18:04:37.817 に答える
0

このようなドットでステートメント全体をエコーアウトする必要があります

$str = "Hi there bla bla Hi there bla bla Hi there bla bla";
$sentence = substr($str, 0, 21);
echo $sentence."....";
于 2013-03-31T18:04:20.440 に答える
0

Is this what you're looking for? You should probably count it first, then echo the result. http://codepad.org/OFo6MG6P

<?php
$str = 'Hi there bla bla';
echo 'Original: "'.$str.'", long one: "';
substr($str, 0 , 20);
$str = "Hi there bla bla Hi there bla bla Hi there bla bla";
$substred = substr($str, 20, 21);
if (strlen($str) > 20) { echo $substred."...\""; };
?>
于 2013-03-31T18:06:12.123 に答える
0

テキストをエコーし​​たいが、長すぎる場合はその一部のみをエコーし​​、「...」を追加すると仮定します。これはうまくいくかもしれません..

if (strlen("$txt")> 20){
   echo substr($txt,0,20)."...";
}
于 2013-03-31T18:07:20.143 に答える