PHP常用字符串正则替换及剖分函数比较
正则函数关系暧昧所以都放到一起比较一下,方便参考。
名称 | 支持正则 | 特点 | 备注 |
str_replace | X | 字符串替换函数,大小写敏感 | |
str_ireplace | X | 字符串替换函数,大小写不敏感,支持数组式批量替换 | 感谢网友franci,提醒添加 |
substr_replace | X | 部分替换字符串函数,可以指定位置index | |
preg_replace | Y | 指定匹配模式进行替换,支持子串引用 | 优先使用 |
ereg_replace | Y | 指定匹配模式进行替换,大小写敏感,支持子串引用 | |
eregi_replace | Y | 指定匹配模式进行替换,大小写不敏感,支持子串引用 | |
ereg | Y | 指定模式全文匹配,可以用来匹配判断,或返回匹配数组 | |
preg_match | Y | 指定模式匹配一次退出,可以用来是否匹配判断,或使用返回的匹配数组 | 优先使用 |
preg_match_all | Y | 指定模式全文匹配,一般用来使用返回的匹配数组 | 优先使用 |
preg_split | Y | 指定匹配模式下正则剖分,如果能用最好还是使用explode或str_split | |
str_split | X | 指定长度剖分字符串,默认单个字符剖分成数组 | |
explode | X | 可以指定单个或多个字符剖分字符串,成功则返回数组,例如12345按照34剖分则返回12和5 | |
preg_quote | - | 转义正则表达式字符,意思就是为特殊字符加上反斜线,正则表达式的特殊字符包括:. + * ? [ ^ ] $ ( ) { } = ! < > | : - | |
补充说明:
1、在PHP中有两套正则表达式函数库,功能非常相似:
一套是POSIX(Portable Operating System Interface of Unix )库提供的,函数以ereg_前缀命名,POSIX正则函数库目前已经不再推荐使用。
一套是PCRE(Perl Compatible Regular Expression)库提供的,函数以preg_前缀命名,推荐大家优先使用。在PCRE中,通常将模式表达式(即正则表达式)包含在两个反斜线“/”之间,如“/^w+$/”样式。
2、PHP正则表达式作用:匹配提取、匹配替换。
在php中字符替换函数有几个如有:str_replace、substr_replace、preg_replace、preg_split、str_split等函数,下面我来给大家总结介绍介绍。一、str_replace(find,replace,string,count)
作用:str_replace() 函数使用一个字符串替换字符串中的另一些字符。
参数 描述
find 必需。规定要查找的值。
replace 必需。规定替换 find 中的值的值。
string 必需。规定被搜索的字符串。
count 可选。一个变量,对替换数进行计数。
例
在本例中,我们将演示带有数组和 count 变量的 str_replace() 函数:
代码如下 | 复制代码 |
<?php Array |
补充:count如果被指定,它的值将被设置为替换发生的次数。
二、substr_replace(string,replacement,start,length)
作用:substr_replace() 函数把字符串的一部分替换为另一个字符串。
参数 描述
string 必需。规定要检查的字符串。
replacement 必需。规定要插入的字符串。
start 必需。规定在字符串的何处开始替换。
■正数 - 在第 start 个偏移量开始替换
■负数 - 在从字符串结尾的第 start 个偏移量开始替换
■0 - 在字符串中的第一个字符处开始替换
charlist 可选。规定要替换多少个字符。
■正数 - 被替换的字符串长度
■负数 - 从字符串末端开始的被替换字符数
■0 - 插入而非替换
例子
代码如下 | 复制代码 |
<?php 输出: Hello earth |
三、preg_replace ( pattern , replacement , subject,limit = -1 ,$count )
作用:执行一个正则表达式的搜索和替换
参数 描述
pattern 必需。需要搜索的模式。
replacement 必需。用于替换的字符串或数组。
subject 必需。需要替换的字符串或数组。
limit 替换的次数。-1为无限
count 完成替换的次数,变量
Example #1 使用后向引用紧跟数值原文
代码如下 | 复制代码 |
<?php $string = 'April 15, 2003'; $pattern = '/(w+) (d+), (d+)/i'; $replacement = '${1}1,$3'; echo preg_replace($pattern, $replacement, $string); ?> |
以上例程会输出:
April1,2003
Example #2 preg_replace()中使用基于索引的数组
代码如下 | 复制代码 |
<?php $string = 'The quick brown fox jumped over the lazy dog.'; $patterns = array(); $patterns[0] = '/quick/'; $patterns[1] = '/brown/'; $patterns[2] = '/fox/'; $replacements = array(); $replacements[2] = 'bear'; $replacements[1] = 'black'; $replacements[0] = 'slow'; echo preg_replace($patterns, $replacements, $string); ?> |
以上例程会输出:
The bear black slow jumped over the lazy dog.
四、preg_split ( pattern , subject,limit = -1 ,flag )
作用:通过正则表达式分割字符串
参数 描述
pattern 必需。需要搜索的模式。
replacement 必需。用于替换的字符串或数组。
subject 必需。需要替换的字符串。
limit 被分割的字符串最多limit。
flag 模式
例 1672. preg_split() 例子:取得搜索字符串的成分
代码如下 | 复制代码 |
<?php |
例 1673. 将字符串分割成字符
代码如下 | 复制代码 |
<?php |
例 1674. 将字符串分割为匹配项及其偏移量
代码如下 | 复制代码 |
<?php |
本例将输出:
Array
(
[0] => Array
(
[0] => hypertext
[1] => 0
)
[1] => Array
(
[0] => language
[1] => 10
)
[2] => Array
(
[0] => programming
[1] => 19
)
)
五、str_split ( subject,length)
作用:将字符串分割成数组
参数 描述
subject 字符串。
length 每一段的长度。
例子 1
代码如下 | 复制代码 |
<?php print_r(str_split("Hello")); ?> |
输出:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
)
例子 2
代码如下 | 复制代码 |
<?php print_r(str_split("Hello",3)); ?> |
输出:
Array
(
[0] => Hel
[1] => lo
)
getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 HTML 文件中 IMG 标记中的 height/width 文本字符串。
代码如下 | 复制代码 |
<?php/* 1.jpg为你想获得其尺寸的图片 */ /** /* 以下两行代码输出的内容都是一样的 */ |
以上php代码被解释为内容为:
代码如下 | 复制代码 |
|
例
Example #1 getimagesize(文件)
代码如下 | 复制代码 |
<?php |
一、操作文件,获取文件信息
代码如下 | 复制代码 |
//打开文件 //单个的取出 }else{ |
2、第二种获取文件信息方式
代码如下 | 复制代码 |
//第二种获取文件信息 echo "<br>".date("Y-m-d H:i:s",fileatime($file_path)); //echo "<br>".filemtime($file_path); |
二、读取文件操作
代码如下 | 复制代码 |
<?php //读取文件 if(!file_exists($file_path)){ fclose($fp);
|
2、第二种读取文件的方式
代码如下 | 复制代码 |
$file_path="text.txt"; $content=str_replace("rn","<br/>",$content);
|
3、第三种读取方法,循环读取(对付大文件)
代码如下 | 复制代码 |
$file_path="text.txt"; //打开文件 fclose($fp);
|
4、文件读取实际应用:当我们连接数据库的时候,可以把指定的数据配置到一个文件中,然后再PHP运行时,实时获取信息
代码如下 | 复制代码 |
db.ini 文件 host=127.0.0.1 |
获取文件
代码如下 | 复制代码 |
$arr=parse_ini_file("db.ini"); //连接数据库 if(!$conn){ echo "OK"; |
三、写文件
代码如下 | 复制代码 |
<?php //写文件 $fp=fopen($file_path,"w+"); echo "添加成功"; |
2、第二中方式 通过file_put_contents函数
代码如下 | 复制代码 |
//将一个字符串写入文件 默认是【FILE_USE_INCLUDE_PATH 】"w+"重新写入 echo "OK"; |
is_array — 检测变量是否是数组
Report a bug 描述
bool is_array ( mixed $var )
如果 var 是 array,则返回 TRUE,否则返回 FALSE。
例
代码如下 | 复制代码 |
$a =1; if( is_array( $a ) ) |
例
代码如下 | 复制代码 |
<?php |
判断是否索引数组的方法
echo is_assoc($array)?'索引数组':'不是索引数组';
代码如下 | 复制代码 |
function is_assoc($array) { |
相关文章
- 这篇文章主要介绍了C#中截取字符串的的基本方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
- 这篇文章介绍了C#判断字符串是否数字或字母的实例,有需要的朋友可以参考一下...2020-06-25
- 这篇文章主要介绍了PostgreSQL判断字符串是否包含目标字符串的多种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-23
- 这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
- 本文实例讲述了php字符串按照单词进行反转的方法。分享给大家供大家参考。具体分析如下:下面的php代码可以将字符串按照单词进行反转输出,实际上是现将字符串按照空格分隔到数组,然后对数组进行反转输出。...2015-03-15
- 这篇文章主要介绍了C# 10个常用特性,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-09
- 这篇文章主要介绍了使用list stream:任意对象List拼接字符串操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-09
- 这篇文章主要介绍了MySQL 字符串拆分操作(含分隔符的字符串截取),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
- 这篇文章主要介绍了C# 16 进制字符串转 int的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25
- JS中默认中文字符长度和其它字符长度计算方法是一样的,但某些情况下我们需要获取中文字符串的实际长度,代码如下: 复制代码 代码如下: function strLength(str) { var realLength = 0, len = str.length, charCode = -1;...2014-06-07
- 这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
- 文章介绍一个实用的函数,我们如果用php substr来截取字符在中文上处理的很有问题,今天自己写了一个比较好的中文与英文字符截取的函数,有需要的朋友可以参考下。 ...2016-11-25
- 这篇文章主要介绍了C#实现对字符串进行大小写切换的方法,涉及C#操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了PostgreSQL 字符串处理与日期处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-01
- 这篇文章主要介绍了c#将字节数组转成易读的字符串的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
- 这篇文章主要介绍了C#获取字符串后几位数的方法,实例分析了C#操作字符串的技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了C#判断一个字符串是否是数字或者含有某个数字的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了Substring截取字符串方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
- 在网站开发中,我们经常使用php similar text 计算两个字符串相似度;1,similar_text的用法 如果我想计算"ly89cn"和"ly89"的相似程度,有两种表示方法复制代码 代码如下: echo similar_text('ly89cn', 'ly89'); ...2015-11-08
- 这篇文章主要介绍了C#实现将字符串转换成日期格式的方法,涉及C#操作时间及字符串的相关技巧,非常简单实用,需要的朋友可以参考下...2020-06-25