4

私は mysql データベースと情報でいっぱいのテーブル、特に製品説明の列を持っています。この列は、私のスクリプトで 2 回使用されています。その最大長は 1000 文字です。

この情報の用途の 1 つは、特定の製品の簡単な説明です。先ほど述べた説明の短縮版を表示したいので、たとえば 200 文字の長さとします。

今、PHPを使用して、200文字に達した時点で文字列に「...」(3つのドット)を追加したいと思います。したがって、基本的に最初の 200 文字のみが表示されます。

このようなことについてどうすればいいですか?かなり簡単な作業になると思いますが、インターネットは、名前がわからないものを探すのに最適な場所です:)

誰かがこの点で助けてくれれば、関連する機能に関連する例やいくつかのリンクがあれば素晴らしいでしょう. どうもありがとう!

4

5 に答える 5

7

substrを使用してこれを実現できます。

$string = substr($string,0,197) . "...";

于 2012-07-09T08:43:31.283 に答える
5

純粋な CSS で作成された代替案 (たとえば、見出しに適しています) を教えてもらえますか?

overflow: hidden; white-space: nowrap; text-overflow: ellipsis;

周囲の要素が十分な長さ/大きさでない場合、長すぎるテキストを自動的にカットします。

于 2012-07-09T08:46:49.003 に答える
5

これは、実際にはまだ 200 文字ではない文字列を処理します。

$string = 'your long string goes here';
if (strlen($string) >= 200) {
    $string = substr($string, 0, 197).'...';
}

ソース: php.net/substr

于 2012-07-09T08:44:28.790 に答える
4
$string = 'asd';
$maxLength = 200;
if (mb_strlen($string) > $maxLength) {
    $string = mb_substr($string, 0, $maxLength) . "...";
}
于 2012-07-09T08:44:49.970 に答える
2

最初にデータベースから 200 文字だけを収集します。

$sql = "SELECT LEFT(article, 200) as article WHERE ETC ETC "

次に、このようなものを適用しますが、基本的には前の単語の終わりに戻って残りを切り取り、省略記号を追加する必要があります。

…
于 2012-07-09T08:48:46.370 に答える