第8章 文字列処理_PHPチュートリアル

WBOY
リリース: 2016-07-13 10:34:52
オリジナル
902 人が閲覧しました

注: この記事は Li Yanhui の PHP ビデオ チュートリアルから引用したものであり、商業目的で使用することはできません。それ以外の場合は、その結果について責任を負うことになります。

学習ポイント:
1. 文字列の書式設定
2. 文字列の比較
4. 文字列の検索と置換
5.

日常のプログラミング作業において、文字列の処理、調整、そして最終的な制御は重要な部分であり、

これがすべてのプログラミング言語の基礎であると一般的に考えられています。他の言語とは異なり、PHP では文字列を処理するためにデータ型を使用する手間がかかりません。この方法により、PHP での文字列操作がこれまで以上に簡単になります。



1.文字列の書式設定

文字列を整理する最初のステップは、文字列内の余分なスペースをクリーンアップすることです。この操作は必須ではありませんが、文字列をファイルまたはデータベースに保存する場合、または他の文字列と比較する場合に非常に便利です。 chop() 関数は、改行を含む文字列の後の余分な空白を削除します。

ltrim() 関数は、文字列の先頭にある余分な空白を削除します。

rtrim() 関数は、改行を含む文字列の後の余分な空白を削除します。この関数は、chop() のエイリアスです。
trim() 関数は、文字列の両側にある余分な空白を削除します。
リーリー
PHP には文字列の再フォーマットに使用できる一連の関数があり、これらの関数の動作方法は
異なります。
nl2br() 関数は、文字列を入力パラメータとして受け取り、文字列内の改行文字を XHTML の
タグに置き換えます。

リーリー

特殊文字を HTML の同等の文字に変換するには、htmlentities() 関数と htmlspecialchars 関数を使用できます。
文字列から HTML を削除したい場合は、strip_tags() 関数を使用できます
リーリー

文字列の場合、一部の文字は間違いなく有効ですが、データベースはこれらの文字を制御文字として解釈するため、

データベースにデータを挿入するときに問題が発生する可能性があります。これらの問題のある文字は、引用符 (一重引用符および二重引用符)、バックスラッシュ ()、および NULL 文字です。
PHP は、文字列をエスケープするための 2 つの関数を提供します。データベースに文字列を書き込む前に、addslashes() を使用して文字列を再フォーマットする必要があります。addslashes() を呼び出した後、すべての引用符にスラッシュが追加され、stripslashes() 関数によってこれらのスラッシュが削除されます。

リーリー

文字列内の文字の大文字と小文字を再フォーマットできます。
strtoupper() 関数は文字列を大文字に変換します
strto lower() 関数は文字列を小文字に変換します
ucfirst() 関数は最初の文字を大文字に変換します
ucwords() 関数は各単語の最初の文字を大文字に変換します
リーリー

文字列を埋める関数: str_pad() は、指定された文字数で文字列を埋めます。

リーリー

2.部分文字列の操作

多くの場合、文字列の個々の部分を確認したいことがあります。たとえば、文内の単語を調べたり、ドメイン名や電子メール アドレスを構成要素に分割したりします。 PHP は、この機能を実現するためにいくつかの文字列関数を提供します。

関数explode()、implode()、join()の使用

この機能を実装するには、最初に使用する関数はexplode()です。

implode() 関数または join() 関数を使用して、explode() 関数の逆の効果を実現します。これら 2 つの関数の効果は同じです。 リーリー strtok() 関数を使用する

strtok() 関数は、文字列から一度にいくつかのフラグメント (トークンと呼ばれる) のみを取り出します。文字列から一度に 1 つの

単語を処理する場合、strtok() 関数はexplode() 関数よりもうまく機能します。
リーリー
substr() 関数の使用
関数 substr() を使用すると、文字列の指定された開始点と終了点の部分文字列にアクセスできます。この関数はこの例には適していませんが、固定フォーマット文字列の一部を取得する必要がある場合には非常に役立ちます。
リーリー
文字列を分解します: str_split() は配列を返します。ここで、各配列要素は文字列パラメーター内の文字

文字列です。

リーリー
文字列を反転: strrev() は文字列を反転できます。
リーリー

3つ。文字列比較

これまで、2 つの文字列が等しいかどうかを比較するために「=」記号を使用してきました。より複雑な比較の一部は、PHP を使用して実行できます。これらの比較は、部分一致とその他のケースの 2 つのカテゴリに分類されます。

文字列の並べ替え: strcmp()、strcasecmp()、および strnatcmp()
この関数は、比較のために 2 つのパラメータ文字列を必要とします。この関数は、2 つの文字列が等しい場合は 0 を返し、

が辞書編集上 str1 および str2 より後ろにある (str2 より大きい) 場合は正の数を返し、str1 が str2 より小さい場合は負の

の数を返します。この関数では大文字と小文字が区別されます。

関数 strcasecmp() は、大文字と小文字が区別されないことを除いて、strcmp() と同じです。

関数 strnatcmp() と、対応する大文字と小文字を区別しない strnatcasecmp() 関数は、PHP4 の新機能です。 これら 2 つの関数は、「自然ソート」に従って文字列を比較します。いわゆる自然ソートとは、人間が慣れている順序でソートすることです。

<?<span php
</span><span echo</span> <span strcmp</span>('a','b'<span );
</span>?>
ログイン後にコピー

使用strspn()函数返回一个字符串中包含有另一个字符串中字符的第一部分的长度。也
就是求两个字符串之间相同的部分。

<?<span php
</span><span echo</span> <span strspn</span>('gmail','yc60.com@gmail.com'<span );
</span>?>
ログイン後にコピー

使用strlen()函数测试字符串的长度
可以使用函数strlen()来检查字符串的长度。如果传给它一个字符串,这个函数将返回
字符串的长度。例如, strlen("hello") 将返回5.

<?<span php
</span><span echo</span> <span strlen</span>('This is a Teacher!'<span );
</span>?>
ログイン後にコピー

确定字符串出现的频率:substr_count()返回一个字符串在另一个字符串中出现的次数。

<?<span php
</span><span echo</span> <span substr_count</span>('yc60.com@gmail.com','c'<span );
</span>?>
ログイン後にコピー

四.查找替换字符串

通常,我们需要检查一个更长的字符串中是否含有一个特定的子字符串。这种部分匹配
通常比测试字符串的完全等价更有用处。
在字符串中查找字符串:strstr()、strchr()、strrchr()和stristr()
函数strstr()是最常见的,它可以用于在一个较长的字符串专供查找匹配的字符串或字
符。请注意,函数strchr()和strstr()完全一样。

<?<span php
</span><span echo</span> <span strstr</span>('yc60.com@gmail.com','@'<span );
</span>?>
ログイン後にコピー

函数strstr()有两个变体。第一个变体是stristr(),它几乎和strstr()一样,其区别在于不区
分字符大小。对于我们的只能表单应用程序来说,这个函数非常有用,因为用户可以输入
"delivery"、"Delivery"和"DELIVERY"。
第二个变体是strrchr(),它也几乎和strstr()一样,只不过是strstr()的别名。
查找字符串的位置:strpos()、strrpos()。
函数strpos()和strrpos()的操作和strstr()类似,但它不是返回一个子字符串,而返回子字
符串needle 在字符串haystack 中的位置。更有趣的是,现在的PHP 手册建议使用strpos()
函数代替strstr()函数来查看一个子字符串在一个字符串中出现的位置,因为前者的运行速度

更快。

<?<span php
</span><span echo</span> <span strrpos</span>('yc60.com@gmail.com','c'<span );
</span>?>
ログイン後にコピー

替换字符串:str_replace()、str_ireplace()、substr_replace()

<?<span php
</span><span echo</span> <span str_replace</span>('@','#','yc60.com@gmail.com'<span );
</span><span echo</span> <span substr_replace</span>('yc60.com@gmail.com','###',0,5<span );
</span>?>
ログイン後にコピー

五.处理中文字符

对于以上的字符串函数,有些可以用于中文,但有些却不适用中文。所以,PHP 提供
了专门的函数来解决这样的问题。
中文字符可以是gbk,utf8,gb2312
mb_strlen() 对应的函数为strlen() 求字符串的长度
mb_strstr() 对应的函数为strstr() 求某字符串到结尾的字符
mb_strpos() 对应的函数为strpos() 求出字符最先出现处
mb_substr() 对应的函数为substr() 取出指定的字符串
mb_substr_count() 对应函数为substr_str() 返回字符串出现的次数

最后扫一遍帮助手册

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/748764.htmlTechArticle注:文章出自李炎恢PHP视频教程,本文仅限交流使用,不得用于商业用途,否则后果自负。 学习要点: 1.字符串格式化 2.操作子字符串 3...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート