ホームページ バックエンド開発 PHPチュートリアル 第8章 文字列処理_PHPチュートリアル

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

Jul 13, 2016 am 10:34 AM
aspnet ソフトウェアプログラミング

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Vue.js と ASP.NET の組み合わせは、Web アプリケーションのパフォーマンスの最適化と拡張のためのヒントと提案を提供します。 Vue.js と ASP.NET の組み合わせは、Web アプリケーションのパフォーマンスの最適化と拡張のためのヒントと提案を提供します。 Jul 29, 2023 pm 05:19 PM

Vue.js と ASP.NET の組み合わせは、Web アプリケーションのパフォーマンスの最適化と拡張のためのヒントと提案を提供します。Web アプリケーションの急速な開発に伴い、パフォーマンスの最適化は開発者にとって不可欠かつ重要なタスクになっています。人気のフロントエンド フレームワークとして、Vue.js を ASP.NET と組み合わせることで、より優れたパフォーマンスの最適化と拡張を実現できます。この記事では、いくつかのヒントと提案を紹介し、いくつかのコード例を示します。 1. HTTP リクエストの削減 HTTP リクエストの数は、Web アプリケーションの読み込み速度に直接影響します。合格

生成 AI がソフトウェア開発を変える 10 の方法 生成 AI がソフトウェア開発を変える 10 の方法 Mar 11, 2024 pm 12:10 PM

翻訳者 | Chen Jun によるレビュー | Chonglou 1990 年代、ソフトウェア プログラミングというと、通常、エディタを選択し、コードを CVS または SVN コード ベースにチェックインし、コードを実行可能ファイルにコンパイルすることを意味していました。 Eclipse や Visual Studio などの対応する統合開発環境 (IDE) は、プログラミング、開発、ドキュメント化、構築、テスト、展開、その他のステップを完全なソフトウェア開発ライフ サイクル (SDLC) に統合できるため、開発者の作業効率が向上します。近年、人気のクラウド コンピューティングと DevSecOps 自動化ツールにより、開発者の包括的な能力が向上し、より多くの企業がソフトウェア アプリケーションを開発、展開、保守することが容易になりました。今日、生成 AI は次世代の開発です

ASP.NET プログラムにおける MySQL 接続プールの使用法と最適化手法 ASP.NET プログラムにおける MySQL 接続プールの使用法と最適化手法 Jun 30, 2023 pm 11:54 PM

ASP.NET プログラムで MySQL 接続プールを正しく使用し、最適化するにはどうすればよいですか?はじめに: MySQL は、高いパフォーマンス、信頼性、使いやすさを特徴とする、広く使用されているデータベース管理システムです。 ASP.NET 開発では、データ ストレージに MySQL データベースを使用することが一般的な要件です。データベース接続の効率とパフォーマンスを向上させるには、MySQL 接続プールを正しく使用し、最適化する必要があります。この記事では、ASP.NET プログラムで MySQL 接続プールを正しく使用し、最適化する方法を紹介します。

ASP.NETプログラムでMySQLに再接続するにはどうすればよいですか? ASP.NETプログラムでMySQLに再接続するにはどうすればよいですか? Jun 29, 2023 pm 02:21 PM

ASP.NETプログラムでMySQLに再接続するにはどうすればよいですか? ASP.NET 開発では、MySQL データベースを使用するのが非常に一般的です。ただし、ネットワークまたはデータベース サーバーの理由により、データベース接続が中断されたりタイムアウトになったりする場合があります。この場合、プログラムの安定性と信頼性を確保するために、接続が切断された後に接続を再確立する必要があります。この記事では、ASP.NET プログラムで MySQL 接続を再接続する方法を紹介します。必要な名前空間を最初に参照するには、コード ファイルの先頭でそれらを参照します。

Vue.js と ASP.NET の組み合わせにより、エンタープライズ レベルのアプリケーションの開発と展開が可能になります。 Vue.js と ASP.NET の組み合わせにより、エンタープライズ レベルのアプリケーションの開発と展開が可能になります。 Jul 29, 2023 pm 02:37 PM

Vue.js と ASP.NET の組み合わせにより、エンタープライズ レベルのアプリケーションの開発と展開が可能になります。今日の急速に発展するインターネット テクノロジ分野では、エンタープライズ レベルのアプリケーションの開発と展開がますます重要になっています。 Vue.js と ASP.NET は、フロントエンドとバックエンドの開発で広く使用されている 2 つのテクノロジであり、これらを組み合わせることで、エンタープライズ レベルのアプリケーションの開発と展開に多くの利点をもたらします。この記事では、コード例を通じて、Vue.js と ASP.NET を使用してエンタープライズ レベルのアプリケーションを開発およびデプロイする方法を紹介します。まず、インストールする必要があります

ASP.NETプログラムでMySQL接続プールを正しく構成して使用する方法は? ASP.NETプログラムでMySQL接続プールを正しく構成して使用する方法は? Jun 29, 2023 pm 12:56 PM

ASP.NETプログラムでMySQL接続プールを正しく構成して使用する方法は?インターネットの発展とデータ量の増加に伴い、データベースへのアクセスと接続の需要も増加しています。データベースのパフォーマンスと安定性を向上させるために、接続プーリングは不可欠なテクノロジーになっています。この記事では、データベースの効率と応答速度を向上させるために、ASP.NET プログラムで MySQL 接続プールを正しく構成および使用する方法を主に紹介します。 1. コネクションプーリングの概念と機能 コネクションプーリングはデータベースコネクションを再利用する技術であり、プログラムの冒頭で使用されます。

ASP.NET での MySQL 接続プールのトランザクション パフォーマンスの使用と最適化 ASP.NET での MySQL 接続プールのトランザクション パフォーマンスの使用と最適化 Jun 30, 2023 pm 12:12 PM

ASP.NET プログラムで MySQL 接続プールのトランザクション パフォーマンスを正しく使用し、最適化するにはどうすればよいですか? ASP.NET プログラムでは、データベース トランザクションは非常に重要な部分です。トランザクションにより、データベースの一貫性と整合性が確保されると同時に、パフォーマンスも向上します。 MySQL データベースを使用する場合、接続リソースを管理し、パフォーマンスを最適化するために接続プールを使用することが不可欠です。まず、MySQL 接続プールの概念を簡単に理解しましょう。接続プールは、接続グループのバッファ プールです。

aspnet の組み込みオブジェクトとは何ですか? aspnet の組み込みオブジェクトとは何ですか? Nov 21, 2023 pm 02:59 PM

ASP.NET の組み込みオブジェクトには、「リクエスト」、「レスポンス」、「セッション」、「サーバー」、「アプリケーション」、 「HttpContext」、「Cache」、「Trace」、「Cookie」、および「Server.MapPath」: 1. リクエスト、クライアントによって発行された HTTP リクエストを示します; 2. レスポンス: Web サーバーによって返された HTTP 応答を示します。クライアントなど

See all articles