PHP には文字列を処理する非常に強力な機能があり、多くの方法がありますが、場合によっては最も単純で理想的なソリューションを選択する必要があります。この記事では、PHP での一般的な文字列処理のケースを 10 個リストし、それに対応する最も理想的な処理方法を示します。
1. 文字列の長さを決定します
これは、この記事の中で最も明白な例です。問題は、文字列の長さをどのように決定するかということです。ここで言及しなければならないのは、strlen() 関数です。
$text = "晴れた日"; $count = strlen($text); // $count = 9
2. テキストを傍受して要約を作成します
ニュース Web サイトは通常、約 200 単語の段落を切り取り、サブ段落の最後に省略記号を追加して要約を作成します。このとき、substr_replace() 関数を使用してこの機能を実現できます。スペースの都合上、ここでは 40 文字の制限のみを示します:$article = "速報: 究極の皮肉、男が犬を噛む。"; $summary = substr_replace($article, "...", 40) // $summary = "速報: 究極の皮肉、男...」
3. 文字列内の文字数と単語数を数えます
記事の総ワード数を要約するブログやニュース記事をよく目にすると思います。または、特定のワード数の範囲内といういくつかの投稿要件をよく目にします。現時点では、str_word_count() 関数を使用して、記事内の総単語数を計算できます。$article = "速報: 究極の皮肉ですが、人間が犬を噛みます。"; $wordCount = str_word_count($article) // $wordCount = 8
コメントなど、投稿者が使用するスペースをより厳密に制御する必要がある場合があります。配列を構成する文字の数を知りたい場合は、count_chars() 関数を使用します。
4. CSV ファイルを解析する
データは通常、カンマ区切り形式でファイルに保存されます (既知の CSV ファイルなど)。CSV ファイルでは、文字列の各列を個別の行に形成するためにカンマまたは同様の事前定義された記号が使用されます。このデータをインポートしたり、必要なものを解析したりするために PHP スクリプトを作成することがよくあります。私はこれまで、CSV ファイルを解析する多くの方法を見てきましたが、最も一般的なのは fgets() 関数とexplode() 関数を組み合わせて使用することです。ただし、ファイルを読み取って解析するには、PHP の文字列処理ライブラリの一部ではない関数、fgetcsv() 関数を使用することが問題を解決する最も簡単な方法です。 fopen() 関数と fgetcsv() 関数を使用すると、このファイルを簡単に解析し、各連絡先の名前を取得できます。$fh = fopen("contacts.csv", "r"); while($line = fgetcsv($fh, 1000, ",")) { echo "連絡先: {$line[1]}";
5. 文字列配列に変換します
場合によっては、CSV ファイルの作成とこれらのファイルからの読み取りを同時に行う必要がある場合があります。つまり、カンマ区切りの文字列をデータに変換する必要があります。データが最初にデータベースから取得された場合は、配列のみが得られる可能性が高くなります。現時点では、implode() 関数を使用してこれらの文字列を配列に変換できます。
$csv = implode(",", $record); 6. URL をハイパーリンクに変換します現在、多くの WYSIWYG エディターは、ユーザーがハイパーリンクを含むテキストをマークできるツールバーを提供しています。ただし、コンテンツがページにレンダリングされるときに追加のエラーが発生しないようにしながら、このプロセスを簡単に自動化できます。ハイパーリンク URL を変換するには、正規表現に従って文字列を検索し、URL の構造を定義する preg_replace() 関数を使用できます。 $url = "W.J. ギルモア、LLC (http://www.bkjia.com)"; $url = preg_replace("/http://([A-z0-9./-]+)/", " $0", $url); // $url = "W.J. ギルモア、LLC (http://www.bkjia.com)"
7. 文字列から HTML タグを削除します
Web 開発者の主な仕事の 1 つは、ユーザー入力に危険な文字が含まれていないことを確認することです。危険な文字が含まれていると、SQL インジェクションやスクリプト攻撃につながる可能性があります。 PHP 言語には、フィルターの拡張など、データのフィルター処理に役立つ多くのセキュリティ機能が含まれています。たとえば、コメントを含むいくつかの基本的な HTML ステートメントをユーザーに許可できます。この機能を実現するには、チェック関数strip_tags()を使用できます。デフォルトでは文字列からすべての HTML タグが削除されますが、デフォルトまたは指定したタグをオーバーライドすることもできます。たとえば、次の例では、すべてのタグを削除できます:
$text = ストリップタグ($input, " ");
8. 2 つの文字列を比較します2 つの文字列を比較して、それらが同じであることを確認します。たとえば、ユーザーが初めて入力したパスワードと 2 回目に入力したパスワードが同じかどうかを判断するには、substr_compare() 関数を使用してこれを簡単に実現できます。
$pswd = "秘密"; $pswd2 = "秘密"; if (! strcmp($pswd, $pswd2)) { echo "パスワードが同一ではありません!" }2 つの文字列が大文字と小文字を区別しないかどうかを確認したい場合は、strcasecmp() 関数を使用できます。
9. 改行を変換する
この記事では、URL をハイパーリンクに簡単に変換する方法を紹介しました。次に、改行文字を HTML タグに変換するのに役立つ nl2br() 関数を紹介します。
$コメント = nl2br($コメント);
10. 自動ワードラッピングを適用します
自動ワードラッピングを適用するには、PHP で次の関数を使用できます: wordwrap():$speech = "4 年と 7 年前、私たちの先祖は、自由の中で考案され、すべての人間は平等に創造されるという命題に捧げられた新しい国家をこの大陸に生み出しました。"; echo wordwrap($speech, 30) ;
上記のコードを実行すると、結果は次のようになります:
4 7 年前、私たちの父祖たちは、自由の中で構想され、すべての人間は平等に創造されるという命題に捧げられた新しい国家をこの大陸に生み出しました。
元のアドレス:
http://phpbuilder.com/columns/Jason_Gilmore060210.php3
原題: PHP 文字列操作のための 10 の簡単なソリューション著者: W. ジェイソン ギルモア