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

テキスト処理

処理の流れ

 閲覧数:567  投稿日: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 「半角スペースもしくは全角スペースで区切られた文字列」先頭に指定文字列を付与 28
2 文字列の改行文字を削除 27
3 マークダウンで書かれたURLを(エスケープ処理するのではなく)削除する 24
4 文字列を「複数の区切り文字」で配列へ変換 / explode使用案。却下 24
5 文字列を「複数の区切り文字」で配列へ変換 / preg_split使用案。採用 23
6 多次元配列キーを、多次元配列内にある「特定キーの値」へ変更 20
7 全てのクッキーを表示 20
8 16進数カラーコードをRGBA形式へ変更 20
9 'xxxx_数字'キーの数だけ、数字毎に分けて二次元配列へ格納(キーのサフィックスは削除する) / array_walk 20
10 'xxxx_数字'キーの数だけ、数字毎に分けて二次元配列へ格納後、キーのサフィックスを削除する / array_filter 20
11 複数の指定文字列を削除 20
12 変数名の一部だけを可変にする 19
13 全ての PHP エラーを表示 19
14 (データベースなどから取得した)多次元配列の構造を変換して一次元配列を返す 18
15 「最後に位置している指定文字列」より後の文字列を取得 18
16 ファイルが存在するかどうか調べてからinclude_onceを実行します。 18
17 変数に含まれるすべての要素、 あるいはオブジェクトに含まれる何かの数を数える 18
18 セッションIDを指定文字列へ変更 18
19 「二次元目の指定キーが指定値である、二次元目配列」を削除 18
20 「{ }」も「.」も使用せず、文字列の中で変数を展開する 18
2023/3/26 10:52 更新
週間人気ページランキング / 3-19 → 3-25
順位 ページタイトル抜粋 アクセス数
1 後ろから3文字削除 / 「18:00:00」→「18:00」 | 文字列(テキスト処理) 26
2 指定文字列より前を取得 | 文字列(テキスト処理) 16
3 URLから、トップページ(index.html)判定 | ルーティング 12
3 「input type="datetime-local"」で受け取った文字列をハイフンへ変更 | 日付および時刻関連 12
4 null代入とunset()の違い | 変数 10
5 現在WebページのURLパスを第2階層まで取得 | パス 9
6 PHPコード 8
7 foreachの中でswitch文 | 配列(型) 6
7 平均値、分散、標準偏差を求める | 統計 6
8 配列の内容(ひらがな)を、読み(あ行~わ行)で分け、新たな配列へ格納 | 配列(型) 3
8 配列内容を、foreachでテーブル表示 | テーブル 3
8 マテリアルカラーをランダムに3色取得 / 重複なし | 色 3
8 Smartyのテンプレートにincludeしたファイルを表示 | Smarty(テンプレートエンジン) 3
9 ビルトインクラス(クラス) カテゴリー 2
9 「最後に位置している指定文字列」より後の文字列を取得 | 文字列(テキスト処理) 2
9 ファイル名を取得し、.拡張子部分を削除し、タイトルに表示 | ファイルシステム 2
9 配列の空要素を削除 / array_diff()で空配列と比較し配列の差分を返す | 配列(型) 2
9 ネットワーク 関数 カテゴリー 2
9 Noticeエラー回避 / PHP7以上で使用可能なnull合体演算子(??)を使用 | 演算子 2
9 平均値、分散、標準偏差、学力偏差値を求める | 統計 2
2023/3/26 1:01 更新