ホームページ  >  記事  >  バックエンド開発  >  PHPの文字列処理関数の詳細説明

PHPの文字列処理関数の詳細説明

高洛峰
高洛峰オリジナル
2016-11-29 11:24:181360ブラウズ

PHP の文字列処理機能は非常に強力で、その方法は多様ですが、場合によっては、最も単純で理想的なソリューションを選択する必要がある場合があります。この記事では、PHP での一般的な文字列処理のケースを 10 個リストし、それに対応する最も理想的な処理方法を提供します。

1文字列の長さを決定する

これは、この記事の中で最も明白な例です。問題は、文字列の長さをどのように決定するかということです。関数は strlen():

$text = です。 "sunny day"; $count = strlen($text); // $count = 9

2. テキストを切り取って要約を作成します。

ニュース ウェブサイトでは通常、約 200 単語の段落が切り取られ、省略記号が表示されます。現時点では、substr_replace() 関数を使用してこの関数を実装できます。ここでは文字制限を 40 文字のみ示します。 art = "速報: 究極の皮肉、男性が犬を噛む。";

$summary = substr_replace($article, "...", 40);

$summary = "速報: 究極の皮肉、男性が犬を噛む..."

3. 文字列内の文字数と単語数を数えます

記事の総単語数を要約するブログやニュース記事をよく目にすると思います。または、投稿要件を見たときに、特定の単語数の範囲内では、str_word_count() 関数を使用して記事の総単語数を計算できます:

$article = "速報: 究極の皮肉ですが、人間が犬を噛みます。"; ($article); // $wordCount = 8

コメントなど、投稿者が使用するスペースをより厳密に制御する必要がある場合があります。含まれる文字数を知りたい場合は、配列を使用してください。 count_chars() 関数。

4. CSV ファイルを解析します。 通常、データはカンマ区切り形式でファイルに保存されます (既知の CSV ファイルなど)。このデータをインポートしたり、必要なものを解析したりするために PHP スクリプトを作成することもよくありますが、最も一般的な方法は、fget を組み合わせて使用​​することです。ただし、最も簡単な方法は、PHP の文字列処理ライブラリの一部ではない fopen() 関数を使用することです。および fgetcsv() 関数を使用すると、このファイルを簡単に解析して各連絡先の名前を取得できます。

$fh = fopen("contacts.csv", "r ");

while($line = fgetcsv($fh, 1000, ","))

{ echo "Contact: {$line[1]}"; }

5. 文字列配列に変換します

場合によっては、CSV ファイルを作成し、これらのファイルから読み取る必要がある場合があります。同時に、これらのカンマ区切りの文字列をデータに変換する必要があることを意味します (データが最初にデータベースから取得されたものである場合)。この時点で使用できるのは配列のみである可能性があります。これらの文字列を配列に変換する () 関数:

$csv = implode(",", $record);

6. URL をハイパーリンクに変換する

現在、多くの WYSIWYG エディターは、ユーザーがテキストにマークを付けることができるツールバーを提供しています。ただし、コンテンツがページ上にレンダリングされるときに、同時に、preg_replace() 関数を使用して追加のエラーが発生しないように、このプロセスを自動化することができます。正規表現に従って文字列を検索し、URL の構造を定義します。

$url = " LanFengye, LLC (http://www.phpfensi.com)"; http://([A-z0-9./-]+)/", "$0", $ url);

// $url = "LanFengye, LLC (http://www.phpfensi.com) "

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

Web 開発者としての主な仕事の 1 つは、ユーザー入力に危険な文字が含まれていないことを確認することです。含まれている場合、SQL インジェクションまたはスクリプト攻撃につながります。 PHP 言語には、フィルタの拡張など、データのフィルタリングに役立つ多くのセキュリティ機能が含まれています。たとえば、この機能を実現するために、いくつかのコメントを含むいくつかの基本的な HTML ステートメントをユーザーに許可できます。これは、デフォルトで文字列からすべての HTML タグを削除しますが、たとえば、次の例では、すべてのタグを削除することもできます。 $input, "");

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

$pswd = "secret";

if (! strcmp($pswd, $pswd2))

{echo "パスワードは ID ではありません!";

} 2 つの文字列が大文字と小文字を区別するかどうかを確認したい場合は、

9. 改行を変換します。 I ハイパーリンクされた 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 — 文字列を特定の文字に従って小さな部分に分割しますlength

convert_cyr_string — キリル文字を他の文字に変換します

convert_uudecode — 文字列を復号化します

convert_uuencode — 文字列を暗号化します

count_chars — 文字列を返します 文字の使用情報

crc32 — 文字列の crc32 多項式を計算します

暗号化 —一方向ハッシュ暗号化関数

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 () 関数のエイリアス

levenshtein — 2 つの単語の差を計算する

localeconv — 数値関連の形式定義を取得する

ltrim — 空白または文字列を削除する文字列の左側にある指定された文字

md5_file — MD5 ファイル アルゴリズム暗号化

md5 — MD5 アルゴリズムを使用して文字列を暗号化します

metaphone — 文字列の発音規則を決定します

money_format — に従って数値の出力をフォーマットしますパラメータ

nl_langinfo — 言語とローカル情報をクエリする

nl2br — 文字列内の改行文字 "n" を "
" に置き換える

number_format — パラメータに従って数値の出力をフォーマットする

ord — ASCII コードを文字に変換します

parse_str — 特定の形式の文字列を変数と値に変換します

print — 単一の値を出力するために使用されます

printf — 必要に応じてデータを表示します

quoted_printable_decode — 文字列を暗号化します8 ビットのバイナリ文字列

quotemeta — いくつかの特定の文字をエスケープします

rtrim — 文字列の右側にある空白または指定された文字を削除します

setlocale — 数値、日付などのローカル形式を設定します

sha1_file — 実行しますファイルの SHA1 アルゴリズム Encryption

sha1 — SHA1 アルゴリズムで文字列を暗号化します

similar_text — 2 つの文字列を比較し、システムが考慮する類似文字の数を返します 戻りますが、出力しません

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 コードを削除します

stripcslashes - 逆エスケープ addcslashes() 関数はエスケープします処理された文字列

stripos — 最初に一致した位置を検索して返します。一致は大文字と小文字が区別されません

stripslashes — 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 — 文字列をインターセプトします

trim — 文字列の両側の空白または指定された文字を削除します

ucfirst — 指定された文字列の最初の文字を大文字に変換します

ucwords — 指定された文字列の各文字を変換します。英単語の最初の文字が大文字になります。

vfprintf — 必要に応じてデータを返し、ドキュメント ストリームに直接書き込みます。

vprintf — 必要に応じてデータを表示します。

vsprintf — 戻る必要に応じてデータを保存しますが、Output

wordwrap ではありません — 特定の文字長に従って文字列を分割します


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。