注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

记录~~~

Stay Hungry. Stay Foolish.

 
 
 

日志

 
 

"preg_" 为前缀的正则表达式常用操作函数——php  

2012-11-10 21:52:15|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

preg_match():

原型:int pre_match(string $pattern,string $subject[,array &$matches[, int $flags = 0 [, int $offset = 0 ]]]) 

搜索subject与pattern给定的正则表达式的一个匹配。

如果提供了matches,则将被搜索的结果填充。

如果提供了matches,则 matches被搜索的结果所填充

<?php 

//  URL 中取得主机名, 模式定界符后面的 "i" 表示不区分大小写字母的搜索 

// 定义一个正则表达式的模式字符串 

$pattern = "/^(http:\/\/)?([^\/]+)/i"; 

if(preg_match($pattern, "http://www.php.net/index.html", $matches)) { 

     // $matches[2]中的内容对应的是模式中第二个圆括号中的子模式所匹配的内容 

     $host = $matches[2]; 

     echo "URL中的主机名是: $host"; //本例的输出结果将是:URL中的主机名是www.php.net 

else { 

     echo "没有匹配的串"; 

?> 

preg_replace():执行一个正则表达式的搜索与替换

原型:mixed preg_replace( mixed $pattern,mixed $replacement,mixed subject[,int $limit=-1[,int &$count]])

搜索subject中匹配pattern的部分,以replacement部分替换。

如果指定了limit,则仅替换limit个匹配项,如果省略limit或者其值为-1,则所有的匹配项都会被替换

count 如果指定, 将会被填充为完成的替换次数. 

返回值

如果subject是一个数组, preg_replace()返回一个数组, 其他情况下返回一个字符串.

如果subject是一个数组,preg_replace()返回一个数组,其他情况下返回一个字符串

如果匹配被查找到, 替换后的subject被返回, 其他情况下 返回没有改变的subject. 如果发生错误, 返回NULL .  

如果匹配被查找到,替换后的subject被返回,其他情况下返回没有改变的subject,如果发生错误,返回null

preg_split():通过一个正则表达式分割字符串

原型:array preg_split( string $pattern,string $subject[,int $limit=-1[,int $flags=0]])

pattern 用于搜索的模式, 字符串形式.
subject 输入字符串
limit

如果指定, 将限制分隔得到的子串最多只有limit个, 返回的最后一个 子串将包含所有剩余部分.limit值为-1, 0或null时都代表"不限制", 作为php的标准, 你可以使用null跳过对flags的设置.


flags可以是下列标记的任意组合:

— PREG_SPLIT_NO_EMPTY 

如果设定了本标记,则preg_split()只返回非空的部分。 

— PREG_SPLIT_DELIM_CAPTURE 

如果设定了本标记,定界符模式中的括号表达式也会被捕获并返回。 

— PREG_SPLIT_OFFSET_CAPTURE 

如果设定了本标记,对每个出现的匹配结果也同时返回其附属的字符串偏移量。注意这改变了返回的数组的值,使其中的每个单元也是一个数组,其中第一项为匹配字符串,第二项为其在subject中的偏移量。 

  评论这张
 
阅读(366)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018