ホームページ  >  記事  >  バックエンド開発  >  PHPの文字列処理関数を詳しく解説_PHPチュートリアル

PHPの文字列処理関数を詳しく解説_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-20 10:59:07842ブラウズ

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 = "LanFengye、LLC (http://www.9it.me)"; $url = preg_replace("/http://([A-z0-9./-]+)/", "$0", $url); // $url = "LanFengye, LLC (http://www.9it.me)"

7. 文字列から HTML タグを削除します


Web 開発者の主な仕事の 1 つは、ユーザー入力に危険な文字が含まれていないことを確認することです。危険な文字が含まれていると、SQL インジェクションやスクリプト攻撃につながる可能性があります。 PHP 言語には、フィルターの拡張など、データのフィルター処理に役立つ多くのセキュリティ機能が含まれています。たとえば、コメントを含むいくつかの基本的な HTML ステートメントをユーザーに許可できます。この機能を実現するには、チェック関数strip_tags()を使用できます。デフォルトでは文字列からすべての HTML タグが削除されますが、デフォルトまたは指定したタグをオーバーライドすることもできます。たとえば、次の例では、すべてのタグを削除できます:

$text =strip_tags($input, "");


8. 2 つの文字列を比較します


2 つの文字列を比較して、それらが同じであることを確認します。たとえば、ユーザーが初めて入力したパスワードと 2 回目に入力したパスワードが同じかどうかを判断するには、substr_compare() 関数を使用してこれを簡単に実現できます。

$pswd = "秘密"; $pswd2 = "秘密"; if (! strcmp($pswd, $pswd2))
{ echo "パスワードが同一ではありません!"; 2 つの文字列で大文字と小文字が区別されているかどうかを確認したい場合は、strcasecmp() 関数を使用できます。


9. 改行を変換する

この記事では、URL をハイパーリンクに簡単に変換する方法を紹介しました。次に、改行文字を HTML タグに変換するのに役立つ nl2br() 関数を紹介します。

$comment = nl2br($comment);

10. 自動ワードラップを適用する


ワードラップを適用するには、PHP で次の関数を使用できます: wordwrap():

$speech = 「4 得点、7​​ 年前に私たちの父親が生み出した、
この大陸に、自由の中で構想された新しい国家、

そしてすべての人間は平等に創造されるという命題に専念します。」;


echo wordwrap($speech, 30); 上記のコードを実行すると、結果は次のようになります:

4 7 年前、私たちの父祖たちは、自由の中で構想され、すべての人間は平等に創造されるという命題に捧げられた新しい国家をこの大陸に生み出しました。

addcslashes — 文字列内の一部の文字にバックスラッシュエスケープ文字を追加します
addslashes — 指定された方法で文字列内の文字をエスケープします
bin2hex — バイナリデータを 16 進数表現に変換します
Chop — rtrim() のエイリアス関数
chr — 文字の ASCII コードを返します
chunk_split — 特定の文字長に従って文字列を小さなチャンクに分割します
Convert_cyr_string — キリル文字を他の文字に変換します
Convert_uudecode — 文字列を復号化する
Convert_uuencode — 文字列を暗号化する
count_chars — 文字列内の文字使用情報を返します
crc32 — 文字列の crc32 多項式を計算します
crypt — 一方向ハッシュ暗号化関数
echo — 一部のコンテンツを表示するために使用されます
explode — 区切り文字を使用して文字列を配列に変換します
fprintf — 必要に応じてデータを返し、ドキュメント ストリームに直接書き込みます
get_html_translation_table — 翻訳可能な HTML エンティティを返します
hebrev — ヘブライ語でエンコードされた文字列をビジュアルテキストに変換する
hebrevc — ヘブライ語でエンコードされた文字列をビジュアルテキストに変換する
html_entity_decode — htmlentities () 関数の逆関数で、HTML エンティティを文字に変換します
htmlentities — 文字列内の一部の文字を HTML エンティティに変換します
htmlspecialchars_decode — htmlspecialchars() 関数の逆関数で、HTML エンティティを文字に変換します
htmlspecialchars — 文字列内の一部の文字を HTML エンティティに変換します
implode — 特定の区切り文字を使用して配列を文字列に変換します
join — 配列を文字列に変換する、implode() 関数のエイリアス
レーベンシュタイン — 2 つの単語の違いを計算します
localeconv — 数値関連の形式定義を取得します
ltrim — 文字列の左側にある空白または指定された文字を削除します
md5_file — MD5 アルゴリズムでファイルを暗号化します
md5 — MD5 アルゴリズムを使用して文字列を暗号化します
metaphone — 文字列の発音規則を決定します
Money_format — パラメーターに従ってフォーマットされた数値の出力
nl_langinfo — 言語とローカル情報をクエリする
nl2br — 文字列内の改行文字「n」を「
」に置き換えます ”
number_format — パラメーターに従ってフォーマットされた数値の出力
ord — ASCII コードを文字に変換します
parse_str — 特定の形式の文字列を変数と値に変換します
print — 単一の値を出力するために使用されます
printf — 必要に応じてデータを表示します
quote_printable_decode — 文字列を 8 ビットのバイナリ文字列に暗号化します
quotemeta — いくつかの特定の文字をエスケープします
rtrim — 文字列の右側にある空白または指定された文字を削除します
setlocale — 数値、日付などのローカル形式を設定します
sha1_file — SHA1 アルゴリズムでファイルを暗号化します
sha1 — SHA1 アルゴリズムで文字列を暗号化します
like_text — 2 つの文字列を比較し、システムが考慮する類似文字の数を返します
soundex — 文字列の発音規則を決定する
sprintf — 必要に応じてデータを返しますが、出力はしません
sscanf — 文字列をフォーマットできます
str_ireplace — str_replace() 関数のように文字列を一致させて置換しますが、大文字と小文字は区別されません
str_pad — 文字列の両側のパディング
str_repeat — 文字列の組み合わせを繰り返します
str_replace — 文字列の一致と置換
str_rot13 — ROT13 は文字列を暗号化します
str_shuffle — 文字列内の文字をランダムに並べ替えます
str_split — 文字間隔に従って文字列を配列に分割します
str_word_count — 文字列内の英単語情報を取得します
strcasecmp — 大文字と小文字を区別せずに文字列を比較します
strchr — 文字列の一部を比較して返す strstr() 関数のエイリアス
strcmp — 文字列のサイズを比較します
strcoll – ローカル設定に基づく文字列のサイズ比較
strcspn — 連続して一致しない文字の長さの値を返します
strip_tags — 文字列から HTML と PHP コードを削除します
tripcslashes — addcslashes() 関数によって処理される文字列のエスケープ解除
stripos — 最初に一致した位置を検索して返します。一致では大文字と小文字が区別されません
tripslashes —addslashes() 関数によって処理される文字列のアンチエスケープ
stristr — 大文字と小文字を区別しない比較によって文字列の一部を返します
strlen — 文字列のエンコードされた長さを取得する
strnatcasecmp — 大文字と小文字を区別しない自然な並べ替えを使用して文字列を比較します
strnatcmp — 自然順序付けを使用した文字列のサイズ比較
strncasecmp — 大文字と小文字を区別せずに、文字列の最初の N 文字を比較します
strncmp — 文字列の最初の N 文字のサイズを比較します
strpbrk — 文字列の一部を比較して返す
strpos — 最初に一致した位置を検索して返します
strrchr — 前後を比較して文字列の一部を返します
strrev — 文字列内のすべての文字を反転します
strripos — 逆方向に検索し、最初に一致した位置を返します。一致は大文字と小文字を区別しません
strrpos – 逆方向に検索し、最初に一致した位置を返します
strspn — 文字の連続出現の長さを照合して値を返します
strstr — 文字列の一部を比較して返します
strtok — 指定された文字を使用して文字列を分割します
strto lower — 文字列を小文字に変換する
strtoupper – 文字列を大文字に変換します
strtr — 文字列の比較と置換
substr_compare — 切り詰められた文字列を比較します
substr_count — 文字列内の特定の文字セグメントの出現数をカウントします
substr_replace — 文字列内の一部の文字を置換します
substr — 文字列をインターセプトします
トリム — 文字列の両側にある空白または指定された文字を削除します
ucfirst — 指定された文字列の最初の文字を大文字に変換します
ucwords — 指定された文字列内の各英単語の最初の文字を大文字にします
vfprintf — 必要に応じてデータを返し、ドキュメント ストリームに直接書き込みます
vprintf — 必要に応じてデータを表示します
vsprintf — 必要に応じてデータを返しますが、出力はしません
wordwrap — 特定の文字長に従って文字列を分割します


www.bkjia.com本当http://www.bkjia.com/PHPjc/445622.html技術記事 PHP の文字列処理機能は非常に強力で、そのメソッドは多様ですが、場合によっては最も単純で理想的なソリューションを選択する必要があります。この記事では、PHP で一般的な 10 個の文字列をリストしています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。