検索
ホームページバックエンド開発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 までご連絡ください。
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的结合可以帮助我们实现更好的性能优化和扩展。本文将会介绍一些技巧和建议,并提供一些代码示例。一、减少HTTP请求HTTP请求的数量直接影响着Web应用的加载速度。通过

ASP.NET程序中的MySQL连接池使用及优化技巧ASP.NET程序中的MySQL连接池使用及优化技巧Jun 30, 2023 pm 11:54 PM

如何在ASP.NET程序中正确使用和优化MySQL连接池?引言:MySQL是一种广泛使用的数据库管理系统,它具有高性能、可靠性和易用性的特点。在ASP.NET开发中,使用MySQL数据库进行数据存储是常见的需求。为了提高数据库连接的效率和性能,我们需要正确地使用和优化MySQL连接池。本文将介绍在ASP.NET程序中如何正确使用和优化MySQL连接池的方法。

生成式AI将在十个方面改变软件开发生成式AI将在十个方面改变软件开发Mar 11, 2024 pm 12:10 PM

译者|陈峻审校|重楼上个世纪90年代,当人们提起软件编程时,通常意味着选择一个编辑器,将代码检入CVS或SVN代码库,然后将代码编译成可执行文件。与之对应的Eclipse和VisualStudio等集成开发环境(IDE)可以将编程、开发、文档、构建、测试、部署等步骤纳入到一个完整的软件开发生命周期(SDLC)中,从而提高了开发人员的工作效率。近年来,流行的云计算和DevSecOps自动化工具提升了开发者的综合能力,使得更多的企业能够更加轻松地开发、部署和维护软件应用。如今,生成式AI作为下一代开

如何在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是两个在前端和后端开发中广泛使用的技术,将它们结合起来可以为企业级应用的开发和部署带来诸多优势。本文将通过代码示例介绍如何使用Vue.js和ASP.NET进行企业级应用的开发和部署。首先,我们需要安装

如何在ASP.NET程序中正确配置和使用MySQL连接池?如何在ASP.NET程序中正确配置和使用MySQL连接池?Jun 29, 2023 pm 12:56 PM

如何在ASP.NET程序中正确配置和使用MySQL连接池?随着互联网的发展和数据量的增大,对数据库的访问和连接需求也在不断增加。为了提高数据库的性能和稳定性,连接池成为了一个必不可少的技术。本文主要介绍如何在ASP.NET程序中正确配置和使用MySQL连接池,以提高数据库的效率和响应速度。一、连接池的概念和作用连接池是一种重复使用数据库连接的技术,在程序初始

ASP.NET中使用和优化MySQL连接池的事务性能ASP.NET中使用和优化MySQL连接池的事务性能Jun 30, 2023 pm 12:12 PM

如何在ASP.NET程序中正确使用和优化MySQL连接池的事务性能?在ASP.NET程序中,数据库事务是非常重要的一部分。事务可以确保数据库的一致性和完整性,同时也可以提供更好的性能。而在使用MySQL数据库时,利用连接池来管理连接资源和优化性能是必不可少的。首先,让我们简单了解一下MySQL连接池的概念。连接池是一组连接的缓冲池,通过预先初始化一定数量的数

在Linux上使用Visual Studio进行ASP.NET开发的推荐配置在Linux上使用Visual Studio进行ASP.NET开发的推荐配置Jul 06, 2023 pm 08:45 PM

在Linux上使用VisualStudio进行ASP.NET开发的推荐配置概述:随着开源软件的发展和Linux操作系统的普及,越来越多的开发者开始在Linux上进行ASP.NET开发。而作为一款功能强大的开发工具,VisualStudio在Windows平台上一直占据着主导地位。本文将介绍如何在Linux上配置VisualStudio来进行ASP.NE

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

メモ帳++7.3.1

メモ帳++7.3.1

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

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 中国語版

SublimeText3 中国語版

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