文章の改行を削除する。既存改行やスペース等の区切りは全て1つの半角スペースへ変更

テキスト処理

処理の流れ

 閲覧数:1331  投稿日:2017-04-28  更新日:2017-04-28  

1.対象文字列全体の前後空白を削除
2.改行 → 半角スペース
3.全角スペース → 半角スペース
4.連続する半角スペース → 1つの半角スペース
5.。半角スペース → 。


コード

$string = "                  無保証
                  ★★は提供するソフトウエアについて、第1章総則の定めのとおり、エラーやバグ、論理的誤り、不具合、中断その他の瑕疵(かし)がないこと、信頼性、正確性、完全性、有効性について一切保証しておりません。
                    ソフトウエアは明示または黙示の有無にかかわらず、★★がその提供時において保有する状態で提供するものであり、特定の目的への適合性、有用性(有益性)、セキュリティ、権原および非侵害性について一切保証しておりません。
                
                
              
                
                
                  APIに関する特約事項
                  ★★が提供するAPIをご利用になる場合、以下の特約事項が適用されます。
                    お客様が★★が提供するAPIを使用してソフトウエアを開発する場合には、「クレジット表示ガイドライン」と「クレジット配置ルール」を順守しなければなりません。
                    お客様は、開発ソフトウエアに、★★が定める開発ソフトウエアを特定するためのアプリケーションID等を付さなければなりません。
                    アプリケーションID等の情報は、お客様が開発した開発ソフトウエアの使用に際し★★に送信されることになります。";

$string = trim($string); //文字列全体の前後空白を削除
$string = str_replace(array("\r", "\n"), '', $string); //改行 → 半角スペース
$string = preg_replace('/ /', ' ', $string); //全角スペース → 半角スペース
$string = preg_replace('/\s+/', ' ', $string); //連続する半角スペース → 1つの半角スペース
$string = str_replace('。 ', '。', $string); //。半角スペース → 半角スペース

//出力
echo $string;



結果

無保証 ★★は提供するソフトウエアについて、第1章総則の定めのとおり、エラーやバグ、論理的誤り、不具合、中断その他の瑕疵(かし)がないこと、信頼性、正確性、完全性、有効性について一切保証しておりません。ソフトウエアは明示または黙示の有無にかかわらず、★★がその提供時において保有する状態で提供するものであり、特定の目的への適合性、有用性(有益性)、セキュリティ、権原および非侵害性について一切保証しておりません。APIに関する特約事項 ★★が提供するAPIをご利用になる場合、以下の特約事項が適用されます。お客様が★★が提供するAPIを使用してソフトウエアを開発する場合には、「クレジット表示ガイドライン」と「クレジット配置ルール」を順守しなければなりません。お客様は、開発ソフトウエアに、★★が定める開発ソフトウエアを特定するためのアプリケーションID等を付さなければなりません。アプリケーションID等の情報は、お客様が開発した開発ソフトウエアの使用に際し★★に送信されることになります。






フォームより入力された改行を含むテキストを、改行維持したまま出力



類似度ページランキング
順位 ページタイトル抜粋 %
1 文章の改行を削除する。既存改行やスペース等の区切りは全て1つの半角スペースへ変更 78
2 文字列に含まれるすべての半角空白と全角空白を削除 34
3 「半角スペースもしくは全角スペースで区切られた文字列」先頭に指定文字列を付与 28
4 文字列の改行文字を削除 27
5 マークダウンで書かれたURLを(エスケープ処理するのではなく)削除する 24
6 文字列を「複数の区切り文字」で配列へ変換 / explode使用案。却下 24
7 文字列を「複数の区切り文字」で配列へ変換 / preg_split使用案。採用 23
8 多次元配列キーを、多次元配列内にある「特定キーの値」へ変更 20
9 全てのクッキーを表示 20
10 16進数カラーコードをRGBA形式へ変更 20
11 'xxxx_数字'キーの数だけ、数字毎に分けて二次元配列へ格納(キーのサフィックスは削除する) / array_walk 20
12 'xxxx_数字'キーの数だけ、数字毎に分けて二次元配列へ格納後、キーのサフィックスを削除する / array_filter 20
13 複数の指定文字列を削除 20
14 PHPで最後の「指定区切り文字」より後ろを取得 19
15 全ての PHP エラーを表示 19
16 変数名の一部だけを可変にする 19
17 「最後に位置している指定文字列」より後の文字列を取得 18
18 (データベースなどから取得した)多次元配列の構造を変換して一次元配列を返す 18
19 ファイルが存在するかどうか調べてからinclude_onceを実行します。 18
20 変数に含まれるすべての要素、 あるいはオブジェクトに含まれる何かの数を数える 18
2026/11/13 9:30 更新
週間人気ページランキング / 11-6 → 11-12
順位 ページタイトル抜粋 アクセス数
1 PHPコード 31
2 MySQLのdatetime型カラムより取得した「月日文字列」先頭に0があった場合、削除 | 日付および時刻関連 4
3 Noticeエラー回避 / PHP7以上で使用可能なnull合体演算子(??)を使用 | 演算子 3
3 MySQLのdatetime型カラムに格納している値と比較して、24時間以内かどうかを判定 | 日付および時刻関連 3
3 配列の内容(ひらがな)を、読み(あ行~わ行)で分け、新たな配列へ格納 | 配列(型) 3
3 クッキー カテゴリー 3
3 Ctype 文字タイプチェック(バリデーション) カテゴリー 3
3 MySQLi (MySQL) カテゴリー 3
4 realpath(__DIR__) | パス 2
4 Smartyのテンプレートにincludeしたファイルを表示 | Smarty(テンプレートエンジン) 2
4 指定文字が2回目に出現する位置以降の文字列を取得 | 文字列(テキスト処理) 2
4 数字を3桁でカンマ区切りに | 文字列(テキスト処理) 2
4 ファイル名を取得し、.拡張子部分を削除し、タイトルに表示 | ファイルシステム 2
4 defined | タグ毎エントリー一覧 2
4 現在WebページのURLパスを第2階層まで取得 | パス 2
5 「指定文字」から「指定文字」までの文字列を削除 | マルチバイト文字列(テキスト処理) 1
5 文字列の中で変数展開される要件 | 文字列(テキスト処理) 1
5 文字列を「複数の区切り文字」で配列へ変換 / preg_split使用案。採用 | 文字列(テキスト処理) 1
5 対象文字列へ対して、一致したすべての文字列を置換する標準関数 / str_replace | 文字列(テキスト処理) 1
5 「1週間後の年月日時分秒」を表示 … time() | 日付および時刻関連 1
2026/11/13 5:05 更新