[解決済み】文字列の最初のn文字を切り捨て、任意の文字が削除された場合は3つのドットを追加する
2022-03-25 21:49:08
質問
PHP で文字列の最初の n 文字を取得するにはどうすればよいですか?文字列を特定の文字数まで切り詰め、必要に応じて '...' を追加する最も手っ取り早い方法は何でしょう?
どのように解決するのですか?
//The simple version for 10 Characters from the beginning of the string
$string = substr($string,0,10).'...';
更新してください。
長さチェックの提案に基づく(また、トリミングされた文字列とトリミングされていない文字列の長さが同じであることを保証する)。
$string = (strlen($string) > 13) ? substr($string,0,10).'...' : $string;
つまり、最大13文字の文字列が得られます。13文字(またはそれ以下)の通常の文字列か、10文字の後に'...'が続く文字列のどちらかです。
アップデート2
または機能として
function truncate($string, $length, $dots = "...") {
return (strlen($string) > $length) ? substr($string, 0, $length - strlen($dots)) . $dots : $string;
}
アップデート3
この回答を書いてからしばらく経ちますが、実はもうこのコードを使うことはありません。私は、単語の途中で文字列が壊れるのを防ぐこの関数の方が好きです。
wordwrap
関数を使用します。
function truncate($string,$length=100,$append="…") {
$string = trim($string);
if(strlen($string) > $length) {
$string = wordwrap($string, $length);
$string = explode("\n", $string, 2);
$string = $string[0] . $append;
}
return $string;
}
関連
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] YouTube APIからYouTubeビデオのサムネイルを取得する方法を教えてください。
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] JavaScriptでランダムな文字列/文字を生成する
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
-
[解決済み] Javaで文字列を分割する方法
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Fatal error: 未定義の関数 sqlsrv_connect() を呼び出した。
-
[解決済み] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given [重複] PHP & MySQL: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given.
-
[解決済み】Apache + PHPで「ヘッダの前にスクリプトの出力が終了する」件
-
[解決済み】Phpのincludeが機能しない? 関数がincludeされない
-
[解決済み】PHP フェイタルエラー。未定義の関数mssql_connect()をコールしています。
-
[解決済み] [Solved] Fatal error: メンバ関数 query() の null への呼び出し。
-
[解決済み】SSLピア証明書またはSSHリモートキーがOKでなかった
-
[解決済み】In_arrayが動作しない。
-
[解決済み] libapache2-mod-php7 パッケージの場所がわからない
-
[解決済み] 文字列が長すぎる場合、...を追加する PHP [重複].