PHP字符串操作和正则表达式

PHP开发实践:字符串操作、引号使用、缩进风格及正则表达式 本文详细探讨了在PHP开发中应遵循的最佳实践和约定,包括字符串操作、引号使用、代码缩进风格、正则表达式、数据库连接和查询、版本控制分支管理以及云服务与DevOps的结合。文章旨在提升开发者在实际项目中的代码质量,提高安全性和性能。 阅读详情
PHP字符串操作

1、字符串格式化

1)去除空格
trim():去除字符串开始位置和结束位置的空格;
ltrim():去除字符串左端的空格;
rtrim():去除字符串右端的空格;

2)格式化输出
printf(string format,mixed args):string:返回一个新的字符串,用法同C语言;
sprintf(string format,mixed args ):void:不返回字符串,直接覆盖原来的字符串,用法同C;
nl2br(string):使用HTML格式化,在string所有新行之前插入<br/>(将所有“\n”替换成<br/>);
vprintf(),vsprintf():接收的参数 :格式化字符串,参数数组;

3)格式化字符串(储存到数据库之前的预处理)
addslashes():为字符串参数的特殊字符添加(\);
stripslashes():反引用(\);

4)大小写转换
strtoupper():将字符串全部转化为大写;
strtolower():将字符串全部转化为小写;
ucfirst():将字符串首字母转化为大写;
ucword():将字符串每一个单词首字母转化为大写;

2、字符串的连接和分割
1)全分割和组装:
explode(separater,string):string必须是全大写或全小写,使用separater分割string,返回array;
implode(separater,array)/ join():使用separater组装array,返回string

2)单项分割:
strtok(str,separater):每次有separater令牌截取一段string,同时指针前移,(重置指针:将string重新传个给该函数);
substr(string,start,[length]):获取string从start开始的字串;
                注:strat为负数时,从尾部开始计数数位;length为负数时,从尾部开始计数忽略的数位;

3、字符串的比较

1)字符串的大小比较
strcmp(string1,string2):二进制安全比较,区分大小写,返回int;
strcasecmp(string1,string2):二进制安全比较,不区分大小写;
strnatcmp(string1,string2):自然顺序比较,区分大小写;

2)字符串长度:
strlen():测试字符串长度;

4、字符串的查找和替换

1)查找字串的字串:
strstr(haystack,needle)/strchr( ):从haystack中查找needle,返回needle第一次出现到结尾的haystack字串/false;
stristr():strstr()的不区分大小写版本;
strrchr(haystack,needle):返回needle最后一次出现到结尾的haystack字串/false;

strpos(haystack,needle):返回needle在haystack第一次出现的位置(int)/false;
strrpos():返回neddle最后一次出现的位置;
※strpos()效率比strstr()要高;
    strpos()判断:if(strpos($example,'needle')===false){ }

2)替换字串的子串:
str_replace(mixed neddle,mixed new_needle, mixed haystack ,[int count]):用new_needle替换haystack中的所有needle,count可以规定替换的次数,needle可以是array,string或其他;
substr_replace(string,replacement,start,[length]):用replacement替换string的start开始的字串;



php与正则表达式

1、正则表达式匹配:

ereg(string pattern,string search,array):int: 在search中搜索能与pattern相匹配的字符串,并将其装载在array中;
eregi():ereg()的忽略大小写版本;
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int$offset = 0 ]]] )
※使用preg_match( )来代替ereg;
※没有匹配——返回false,没有传入array或search长度为0——返回1;
     array[0]全部匹配项,array[1]array[2]...其他匹配项;

2、正则表达式替换字符串

ereg_replace(pattern,replacement,search):string:用replacement替换search中的pattern匹配部分;
eregi_replace():不区分大小写版本;

※一般对于相同的功能,正则表达式函数的运行效率要低于字符串函数;

3、正则表达式查询表
用于POSIX风格的正则表达式字符类

匹配
类
匹配
类
[[:alnum:]]
文字数字字符
 [[:punct:]]
标点符号
[[:alpha:]]
字母字符
[[:blank:]]
制表符和空格
[[:lower:]]
大写字母
[[:space:]]
空白字符
[[:upper:]]
小写字母
[[:cntrl:]]
控制符
[[:digit:]]
小数
[[:print:]]
所有可打印字符
[[:xdigit:]]
十六进制数字
[[:graph:]]
出空格外的可打印字符

在POSIX正则表达式中,用于方括号之外的特殊字符

字符
意义
字符
意义
\
转义字符
(   )
子模式,括号内的字串完全匹配,如(very)*
^
在字符串的开始匹配
{   }
最小/最大量记号
$
在字符串末尾匹配
*
匹配0次或更多次
.
匹配除了(\n)之外的所有字符
+
匹配1次或更多次
|
选择分支的开始
?
只允许匹配1次,但非必须匹配

在POSIX正则表达式中,用于方括号内外的特殊字符

字符
意义
字符
意义
\
转义字符
^
非,仅用在开始位置
-
用于指明字符范围



INMP441麦克风与ESP32的I2S音频采集实战指南 本文提供了INMP441数字麦克风与ESP32开发板通过I2S接口进行高质量音频采集的完整实战指南。详细讲解了硬件连接、软件配置、数据读取及基础处理,并分享了常见的避坑技巧与性能优化建议,帮助开发者快速构建物联网音频应用。 阅读详情

相关推荐

OneOS远程升级能力实操演示 | OTA升级

OneOS远程升级能力实操演示,差分算法提升效率,OTA升级,OTA差分算法,全量升级、压缩升级、差分升级,有线网络连接,bootloader,升级平台,在线差分包制作,触摸屏以及GUI图形操作

OneOS是中国移动针对物联网领域推出的轻量级操作系统 2011

php (strpos,php – 在strpos()的字符串中使用正则表达式

News UpdateTitle: Article TitleTags: tag1 tag2Categories: Article Category, 2nd Article CategorySnippet:Article snippet.Message: Article Message. Images. More text,more text. Lorem impsum dolor sit am...

weixin_36027600的博客 629

CODESYS Softmotion(一)功能介绍

一、CODESYS SoftMotion RTE SL产品 1.1 CODESYS Runtime SL 产品家族介绍 目前支持的主流厂商的硬件产品,让部署在上面的成为实时设备。 对于Windows系统,根据需求选择对应的Runtime: RTE极大的提高了实时性,适合进行运动控制,同时RTE还支持了多个主从站协议: 还可以选择可选的功能(Single License): RTE对硬件和系统有要求,如果你需要硬件功能,那么网卡会有最低要求。 1.2 RTE的下载和安装 在官网http://codes

Fishfishfishfishcat 2万+

48条高效率的PHP优化写法-大家批判的吸收

1 字符串1.1 少用正则表达式能用PHP内部字符串操作函数的情况下,尽量用他们,不要用正则表达式, 因为其效率高于正则。没得说,正则最耗性能。str_replace函数要比preg_replace快得多,strtr函数又比str_replace来得快。有没有你漏掉的好用的函数?例如:strpbrk()、strncasecmp()、strpos()、strrpos()、stripos()、strr...

xiaomage_cn的专栏 437

Python新手必看:5分钟搞定睿尔曼机械臂基础控制(附代码示例)

本文为Python新手提供了快速上手睿尔曼机械臂基础控制的实战指南。通过详细的步骤讲解和代码示例,介绍了从环境搭建、网络配置、SDK安装到建立连接、执行关节运动(movej)、直线运动(movel)等核心控制指令的全过程,帮助零基础开发者快速实现机械臂的基础操控。

hp777的博客 328

6-3 根据派生类写出基类(Java解法)(PTA)

主要是看main函数里调用了什么方法和输出样例,一一对应一下有思路再写就很简单.建议使用IDEA自动生成,可以少写很多代码。

u012137663的博客 1142

php中正则表达式详解

概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。常用的语言基本上都有正则表达式,如JavaScript、java等。其实,只有了解一种语言的正则使用,其他语言的正则使用起来,就相对简单些。文本主要围绕解决下面问题展开。 有哪些常用的转义字符 什么是限定符与定位符 什么是单词定位符 特殊字符有哪些 什么是逆向引用以及...

weixin_30438813的博客 496

VLA强化学习训练:π0到π0.5的技术优化与实现

视觉语言动作模型(VLA)作为多模态强化学习的重要分支,通过融合视觉、语言和环境状态数据实现智能决策。其核心技术在于多模态特征融合与动作空间设计,其中PPO算法因其出色的训练稳定性成为首选方案。在工程实践中,延迟补偿机制和课程学习设计能显著提升模型性能,如在四足机器人项目中使避障成功率提升47%。针对实际部署中的性能下降问题,需要特别关注硬件量化参数和控制频率一致性等关键因素。本文通过π0与π0.5版本的对比实验,详细解析了VLA模型在机械臂控制等具身智能场景中的优化路径。

weixin_29041767的博客 246

php 字符串替换 正则表达式,PHP中一些可以替代正则表达式函数的字符串操作函数...

0x01:根据预定义的字符对字符串进行词法分析/** 在处理大量信息时,正则表达式函数会使速度大幅减慢。应当在需要使用正则表达式解析比较复杂的字符串时才能使用这些函数。如果要解析简单的表达式,还可以采用很多可以显著加快处理过程的预定义函数。*//** 根据预定义的字符对字符串进行词法分析* strtok()函数根据预定义的字符列表来解析字符串。其形式为:* string strtok(string...

weixin_35748595的博客 220

UWB灵犀遥控器方案介绍

UWB灵犀指向遥控器的技术原理和方案介绍

xiongdauwb的博客 3899

FFT去除频率分量的完整流程与数学分析

重叠与窗口:确保块间无缝过渡,避免幅度跳变;实时缓冲:处理速度需快于数据输入速度,避免断流;DAC的平滑角色:通过数模转换和滤波,将离散样点还原为连续波形。通过这种分段处理+重叠拼接的方法,即使FFT本身处理的是离散数据块,最终DAC输出仍能保持信号的时间连续性。以下是完整的数学分析过程和代码逻辑,演示如何通过FFT去除特定频率成分,并通过去窗技术恢复信号。信号加窗。

林愿留的博客 1611

PHP中字符串与正则表达式

1、字符串的连接符 “.”可以直接连接两个字符串,也可以连接两个字符串变量,也可以连接字符串和字符串变量 &lt;?php $name="张先生"; $a="欢饮您的到来"; echo $name.$a; echo "\n"; echo "李先生".$a; echo "\n"; echo $name."欢迎你"; ?&gt; 2、字符串的单引号与双引号

Labigale的博客 4091

睿尔曼超轻量仿人机械臂--机械臂接口介绍

本文介绍了睿尔曼超轻量仿人机械臂的控制器接口及末端接口。

realman_Rop的博客 3438

字符串与正则表达式php,php的字符串操作与正则表达式

以下列出了php中的大部分字符串函数及正则表达式的规则,更多细节需要对照php手册-文本处理:/*** 字符串的格式化* */// 字符串的整理 trim() chop() 以及ltrim()、rtrim()$name=" I'm not a loser ";$name1=trim($name);$name2=chop($name);echo $name1."";echo $name2."";...

weixin_42097914的博客 253

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

PHP学习:字符串操作和正则表达式

http://www.cnblogs.com/xbf321/archive/2011/09/07/string-in-php.html

杀破狼961 1062

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

php的字符串操作与正则表达式

以下列出了大部分php中的大部分字符串函数及正则表达式的规则,更多细节需要对照php手册-文本处理: <?php /** * 字符串的格式化 * */ // 字符串的整理 trim() chop() 以及ltrim()、rtrim() $name=" I'm not a loser "; $name1=trim($name); $name2=chop($name); echo $name

bboyjoe的博客 642

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

PHP学习:字符串操作和正则表达式

主要内容: 字符串格式化;用字符串函数连接和分隔字符串;字符串比较;使用字符串函数匹配和替换子字符串;使用正则表达式; 字符串格式化 1,去空格:trim(),ltrim(),rtrim() trim()函数去掉头尾两边的空格。 ltrim()函数去掉开始的空格。 rtrim()函数去掉结尾的空格。 2,格式化字符串:printf(),sprintf() printf()函

竖琴螺Harper'blog 644

【PHP开发900个实用技巧】303.字符串操作终极武器:正则表达式的暗黑艺术

本文深入探讨了PHP中正则表达式的使用技巧,旨在帮助开发者掌握这门“暗黑艺术”。文章分为四个部分: 1. **基础:构建正则表达式骨架** - 介绍了正则表达式的基本语法,如`^`、`$`、`.*`等,并通过实例展示了如何构建正则表达式。例如,匹配手机号的正则表达式应使用`^1[3-9]\d{9}$`以确保精确匹配。 2. **核心:PHP函数实战指南** - 详细讲解了PHP中与正则相关的函数,如`preg_match`、`preg_replace`和`preg_split`。通过

747

PHP字符串操作-正则表达式和替换函数

  ******代码参考于 "PHP与MySQL程序设计"一书   一般字符串的验证或多或少都会用到正则表达式。PHP对正则表达式的支持相当丰富,有POSIX和PEAR两种格式的正则表达式语法支持。   下面就PEAR格式的常用正则表达式进行一些实例展示。   用到3个PEAR格式的正则表达式验证函数:preg_match ---匹配函数 preg_replace---替换函数, p...

hgfghwq13 311

php 学习笔记 字符串操作和正则表达式(四)

主要内容: 字符串格式化;用字符串函数连接和分隔字符串;字符串比较;使用字符串函数匹配和替换子字符串;使用正则表达式; 1,去空格:trim(),ltrim(),rtrim() trim()函数去掉头尾两边的空格。 ltrim()函数去掉开始的空格。 rtrim()函数去掉结尾的空格。 2,格式化字符串:printf(),sprintf() printf()函数和

丛学达的专栏 628

《php和mysql web开发》笔记——第4章 字符串操作与正则表达式

发送邮件代码: http://www.daixiaorui.com/read/16.html   去空格函数:ltrim()、rtrim()、trim()。chop()是rtrim()的别名。 nl2br():\n替换为 sprintf():格式化字符串,返回一个处理后的字符串。%%可输出为% printf():格式化字符串并打印处理 strtoupper():大写 strtolo

laogao598599的专栏 527

那就一次性学会PHP字符串操作&正则表达式吧

字符串操作 字符串定义 引号定义 有单引号定义和双引号定义,但是两者存在区别,如图: (注:图中的输出 .'<br>' 的意思是:‘ . ’是php的字符串连接运算符,<br>是html中的换行,在网页中就会显示输出并换行) 1. 可以看到双引号的部分,里边的变量被解析了,而单引号里的变量没有被解析。 ...

qq_41645482的博客 673

php 两个单词 正则表达式字符前_php之字符串操作与正则表达式

1.字符串格式化字符串的整理:chop(),ltrim(),trim()trim()函数可以除去字符串开始位置和结束位置的空格,并将结果字符串返回。默认情况下移除的字符是换行符和回车符,水平和垂直制表符,字符串结束符。格式化字符串以便显示:1/使用html格式化:nl2br()函数2.字符串大小写函数:strtoupper,strtolower,ucfirst,ucwords.格式化字符串以便存储...

weixin_35869861的博客 143

ch04 字符串操作与正则表达式

文章目录字符串操作与正则表达式创建一个示例应用:智能表单邮件字符串的格式化字符串截断格式化字符串使用字符串函数连接和分割字符串函数explode()、implode()、join()函数strtok()函数substr()字符串比较字符串的排序函数strlen()使用字符串函数匹配和替换子字符串在字符串中查找字符串查找子字符串的位置替换子字符串正则表达式基础知识分隔符字符类和类型重复子表达式子表达...

weixin_43712064的博客 824

PHP中一些可以替代正则表达式函数的字符串操作函数

/* * 在处理大量信息时,正则表达式函数会使速度大幅减慢。应当在需要使用正则表达式解析比较复杂的字符串时才能使用这些函数。如果要解析简单的表达式,还可以采用很多可以显著加快处理过程的预定义函数。 */ /* * 根据预定义的字符对字符串进行词法分析 * strtok()函数根据预定义的字符列表来解析字符串。其形式为: * string strtok(string str,string...

C赏心悦目 266

PHP从入门到能用(八 · 下)正则表达式的字符串练习【10大题训练——做完就学会】

文章目录常用的几个函数第一题第二题第三题 常用的几个函数 preg_match 执行匹配正则表达式 preg_replace 执行一个正则表达式搜索和替换,返回值为替换后的字符串 preg_split 通过一个正则表达式分隔字符串 preg_grep 返回匹配模式的数组条目 preg_quote 转义正则表达式字符,返回为转义后的字符串 第一题 如果 $str=“轻轻的我走了[逗]正如我轻轻地来[句]我挥一挥衣袖[逗]不带走一片云彩 [句]”,完成下面要求: 1) 将$str 中的“[ ]”分别用“(

数据库爆破专家的博客 2707
上一篇: PHP读写文件的基本操作
下一篇: 使用PHP实现身份验证的集中方法
Al_assad
博客等级 码龄11年 591粉丝 341原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值