Maison développement back-end tutoriel php php字符串处理函数详解

php字符串处理函数详解

Nov 29, 2016 am 11:24 AM

PHP处理字符串的能力非常强大,方法也是多种多样,但有的时候你需要选择一种最简单且理想的解决方法,文章列举了10个PHP中常见的字符串处理案例,并提供了相对应的最理想的处理方法.

1.确定一个字符串的长度

这是文章中最明显的一个例子,其中的问题是我们如何来确定一个字符串的长度,这里我们不能不提的就是strlen()函数:

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

2.截取文本,创建一个摘要.

新闻性质的网站通常会截取一个大约200字左右的段落,并在次段落的末尾加上省略号来形成一个摘要,这时,你可以使用substr_replace()函数来实现此功能,由于篇幅的原因,这里只演示对40个字符的限制:

$article = "BREAKING NEWS: In ultimate irony, man bites dog.";

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

$summary = "BREAKING NEWS:In ultimate irony, man bi..."

3.计算字符串中的字符和单词数

相信您经常会看到一些博客或者新闻类文章,来总结文章的总字数,或者我们也经常看到一些投稿的要求,在一定的字数范围内,这时,你可以使用str_word_count()函数来计算文章字数的总和:

$article = "BREAKING NEWS: In ultimate irony, man bites dog.";

$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 "Contact: {$line[1]}"; } 

5.转换成一个字符串数组

某些时候,你可能需要创建CSV文件,同时又在这些文件中进行读取,这就意味着你需要将那些同逗号分隔的字符串转换成数据,如果这些数据最初是从数据库检索出的,那么它很可能会只给您提供一个数组,这时,您可以使用implode()函数,将这些字符串转换成一个数组:

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

6.将网址转换成超链接

目前许多WYSIWYG编辑器提供的工具栏,都允许用户标记文本,包括超链接,但是,当内容呈现到页面上时,你可以很容易的自动执行此过程,同时保证您不出现额外的错误,要转换成超链接的URL,你可以使用preg_replace()函数,它可以按照正则表达式来搜索一个字符串,并定义了URL的结构:

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

$url = preg_replace("/http://([A-z0-9./-]+)/", "$0", $url);    

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

7.从一个字符串中去除HTML标签

作为Web开发人员,其中的一个主要工作就是要确保用户输入中不含有危险字符,如果有,这会导致SQL注入或脚本攻击,PHP语言中包含了很多安全方面的功能,这些功能能够帮助你过滤数据,包括延长过滤器,例如,你可以允许用户中带有一些基本的HTML语句,包括一些注释,实现这个功能,你可以使用带有检查功能函数:strip_tags(),它在默认的情况下是从字符串中删除所有的HTML标签,但同时也允许覆盖默认或者你指定的标签,例如,在下面的例子中,你可以除去所有的标签:

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

8.比较两个字符串

比较两个字符串,以确保它们是相同的,例如,判断用户第一次与第二次输入的密码是否相同,你可以使用substr_compare()函数来很容易的现实:

$pswd = "secret";    

$pswd2 = "secret";    

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

{ echo "The passwords are not identical!";   

 } 

如果你想判断两个字符串不区分大小写,可以使用strcasecmp()函数.

9.转换换行符

在本文中我介绍了如何轻松转换成超超链接的URL,现在介绍nl2br()函数,这个函数能够帮助你将任何换行符转换成HTML标签.

$comment = nl2br($comment);

10.应用自动换行

应用自动换行,你可以使用PHP中的这个函数:wordwrap():

$speech = "Four score and seven years ago our fathers brought forth,    

upon this continent, a new nation, conceived in Liberty,    

and dedicated to the proposition that all men are created equal.";    

   

echo wordwrap($speech, 30);执行上面的代码,结果是: 

 

Four score and seven years ago our fathers brought forth, upon this continent, a new nation, conceived in Liberty, and dedicated to the proposition that all men are created equal. 

addcslashes — 为字符串里面的部分字符添加反斜线转义字符

addslashes — 用指定的方式对字符串里面的字符进行转义

bin2hex — 将二进制数据转换成十六进制表示

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 — 将Hebrew编码的字符串转换为可视的文本

hebrevc — 将Hebrew编码的字符串转换为可视的文本

html_entity_decode — htmlentities ()函数的反函数,将HTML实体转换为字符

htmlentities — 将字符串中一些字符转换为HTML实体

htmlspecialchars_decode —htmlspecialchars()函数的反函数,将HTML实体转换为字符

htmlspecialchars — 将字符串中一些字符转换为HTML实体

implode — 将数组用特定的分割符转变为字符串

join — 将数组转变为字符串,implode()函数的别名

levenshtein — 计算两个词的差别大小

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算法加密

sha1 — 将一个字符串进行SHA1算法加密

similar_text — 比较两个字符串,返回系统认为的相似字符个数

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代码

stripcslashes — 反转义addcslashes()函数转义处理过的字符串

stripos — 查找并返回首个匹配项的位置,匹配不区分大小写

stripslashes — 反转义addslashes()函数转义处理过的字符串

stristr — 通过比较返回一个字符串的部分,比较时不区分大小写

strlen — 获取一个字符串的编码长度

strnatcasecmp — 使用自然排序法对字符串进行大小比较,不区分大小写

strnatcmp — 使用自然排序法对字符串进行大小比较

strncasecmp — 对字符串的前N个字符进行大小比较,不区分大小写

strncmp — 对字符串的前N个字符进行大小比较

strpbrk — 通过比较返回一个字符串的部分

strpos — 查找并返回首个匹配项的位置

strrchr — 通过从后往前比较返回一个字符串的部分

strrev — 将字符串里面的所有字母反向排列

strripos — 从后往前查找并返回首个匹配项的位置,匹配不区分大小写

strrpos – 从后往前查找并返回首个匹配项的位置

strspn — 匹配并返回字符连续出现长度的值

strstr — 通过比较返回一个字符串的部分

strtok — 用指定的若干个字符来分割字符串

strtolower — 将字符串转变为小写

strtoupper –将字符串转变为大写

strtr — 对字符串比较替换

substr_compare — 对字符串进行截取后的比较

substr_count — 计算字符串中某字符段的出现次数

substr_replace — 对字符串中的部分字符进行替换

substr — 对字符串进行截取

trim — 去除字符串两边的空白或者指定的字符

ucfirst — 将所给字符串的第一个字母转换为大写

ucwords — 将所给字符串的每一个英文单词的第一个字母变成大写

vfprintf — 按照要求对数据进行返回,并直接写入文档流

vprintf — 按照要求对数据进行显示

vsprintf — 按照要求对数据进行返回,但是不输出

wordwrap — 按照一定的字符长度分割字符串


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Expliquez le concept de liaison statique tardive en PHP. Expliquez le concept de liaison statique tardive en PHP. Mar 21, 2025 pm 01:33 PM

L'article traite de la liaison statique tardive (LSB) dans PHP, introduite dans PHP 5.3, permettant une résolution d'exécution de la méthode statique nécessite un héritage plus flexible. Problème main: LSB vs polymorphisme traditionnel; Applications pratiques de LSB et perfo potentiel

Caractéristiques de sécurité du cadre: protection contre les vulnérabilités. Caractéristiques de sécurité du cadre: protection contre les vulnérabilités. Mar 28, 2025 pm 05:11 PM

L'article traite des fonctionnalités de sécurité essentielles dans les cadres pour se protéger contre les vulnérabilités, notamment la validation des entrées, l'authentification et les mises à jour régulières.

Frameworks de personnalisation / d'extension: comment ajouter des fonctionnalités personnalisées. Frameworks de personnalisation / d'extension: comment ajouter des fonctionnalités personnalisées. Mar 28, 2025 pm 05:12 PM

L'article examine l'ajout de fonctionnalités personnalisées aux cadres, en se concentrant sur la compréhension de l'architecture, l'identification des points d'extension et les meilleures pratiques pour l'intégration et le débogage.

Comment envoyer une demande post contenant des données JSON à l'aide de la bibliothèque Curl de PHP? Comment envoyer une demande post contenant des données JSON à l'aide de la bibliothèque Curl de PHP? Apr 01, 2025 pm 03:12 PM

Envoyant des données JSON à l'aide de la bibliothèque Curl de PHP dans le développement de PHP, il est souvent nécessaire d'interagir avec les API externes. L'une des façons courantes consiste à utiliser la bibliothèque Curl pour envoyer le post� ...

Décrivez les principes solides et comment ils s'appliquent au développement de PHP. Décrivez les principes solides et comment ils s'appliquent au développement de PHP. Apr 03, 2025 am 12:04 AM

L'application du principe solide dans le développement de PHP comprend: 1. Principe de responsabilité unique (SRP): Chaque classe n'est responsable d'une seule fonction. 2. Principe ouvert et ferme (OCP): les changements sont réalisés par extension plutôt que par modification. 3. Principe de substitution de Lisch (LSP): les sous-classes peuvent remplacer les classes de base sans affecter la précision du programme. 4. Principe d'isolement d'interface (ISP): utilisez des interfaces à grain fin pour éviter les dépendances et les méthodes inutilisées. 5. Principe d'inversion de dépendance (DIP): les modules élevés et de bas niveau reposent sur l'abstraction et sont mis en œuvre par injection de dépendance.

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Mar 31, 2025 pm 11:54 PM

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

See all articles