`
hgfghwq13
  • 浏览: 45313 次
  • 性别: Icon_minigender_2
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

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

 
阅读更多

  ******代码参考于  "PHP与MySQL程序设计"一书
  一般字符串的验证或多或少都会用到正则表达式。PHP对正则表达式的支持相当丰富,有POSIX和PEAR两种格式的正则表达式语法支持。
  下面就PEAR格式的常用正则表达式进行一些实例展示。
  用到3个PEAR格式的正则表达式验证函数:preg_match ---匹配函数   preg_replace---替换函数, preg_split---分割函数
  1.preg_match:
  看一个最简单的例子: '; ?>  PEAR格式的正则表达式:/ 表示界定符,一般用在表达式开始和结尾处。 /pizza/就表示包含pizza的任意字符串。 下面是验证形如  ****@****.com/cn/org的邮箱格式。
  ^ 放在表达式开头表示以后面字符开头
  而[^0-9]表示不包含0-9
  [a-zA-Z0-9_]表示包含小写、大写字母以及数字和下划线的字符。
  *表示任意个前面的字符。
  [.]表示包含有  .
  而[.*]或者(.*) 表示匹配任意字符(除换行符)
  下面的正则表达式含义是: 匹配 不是数字开头的并且以若干个字母(大小写)开头同时有数字或者下划线组合的字符串  加上  @  加上  若干大小写字母和数字的组合  加上  .   加上2-4个大小写字母的组合。 "; } ?>  以上2个例子输出:  
  
  2.preg_replace:
  下面的例子把  匹配有http://****/的字符串输出为HTML中的链接。  正则表达式中的/需要进行转义  即 \ /\ /表示  //
  preg_replace参数: 第一个是正则表达式, 第二个参数是替换的字符串, 使用${0}来指定所有匹配的字符串。 ${n}表示第n个被匹配的字符串(n>0)。 第三个参数就是需要替换的变量。 ${0}', $website); echo ""; ?>  结果:
  
  3:preg_split:
  第一个参数是需要匹配的正则表达式, 第二个是需要操作的变量。
  下面的例子匹配逗号","   然后把字符串按照逗号进行划分。 划分后保存在  $result数组中。最后遍历数组输出。 "; } ?>  PHP还提供了一些正则表达式的替换函数,这些函数使用起来都很方便, 可以在需要效率或者匹配不是很复杂的情况下使用.
  1.字符串长度匹配: strlen $password = 'passwordifdefined'; if(strlen($password) ';  2.字符串比较匹配,  strcmp  即 string compare, 传入2个字符串变量,如果完全一样,返回0, 否则返回1 if(strcmp($password, 'randompassword') != 0) echo 'password doesn\'t match'; else echo 'password matches!'; echo'';  结果:  password doesn't match
  3.字符串包含匹配: strspn($s1, $s2) 如果$s2中完全包含有$s1的字符,那么返回$s1的长度。下面的例子验证一个变量是否全是由数字构成: $passwordNum = "3412512"; if(strspn($passwordNum, "1234567890") == strlen($passwordNum)) echo 'password can\'t only consist of numbers!'; echo '';  结果: password can't only consist of numbers.
  4.搜索指定字符串出现的位置: strpos($s1, $s2)  在$s1中搜寻含有$s2的字符串,返回第一次出现的位置。
  下面的例子利用substr得到 index第一次出现的位置到$file结尾之间的字符串。 $file = '/home/websites/index.html'; $pos = strpos($file, 'index'); echo substr($file, $pos, strlen($file)); echo "";  5.得到指定字符串出现的频率。   substr_count 
  下面的例子得到在$article中 love 和 you出现的次数。  这个技巧可以实现一些网站的搜索统计功能。 $keywords = array('love', 'you'); $article = '.$keyword.' appears '.substr_count($article, $keyword).' times'.""; }  6.去除字符串的首尾字符。
  下面的例子去除字符串的首尾空格。 $text = ' text with spaces '; echo trim($text, ' ');  7.字符串替代: substr_replace($s1, $s2, $start, $length)  用$s2替换$s1, 替换的部分从$start开始, 长度为$length
  下面的例子是把手机号码中间的部分替换成 * , 可以用在一些幸运抽奖的应用中。 $phoneNumber = '13978787878'; echo substr_replace($phoneNumber, '*****', 3, 5);   结果:139*****878
  好了, 就这些。
分享到:
评论

相关推荐

    精通正则表达式~~~

    作为正则表达式的字符串... 101 字符编码... 105 正则模式和匹配模式... 110 常用的元字符和特性... 113 字符表示法... 115 字符组及相关结构... 118 锚点及其他“零长度断言” 129 注释和模式量词... 135 ...

    正则表达式经典实例

    即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,本书对于如何使用正则表达式来解决一些常见的问题给出了按部就班的解决方案,其中包括c#、Java、JavaScript、Perl、PHP、Python、Ruby和VB...

    正则表达式经典实例.pdf

    即使有经验的用户也经常会遇到性能不佳、误报、漏报等让人挠头的错误,本书对于如何使用正则表达式来解决一些常见的问题给出了按部就班的解决方案,其中包括c#、Java、JavaScript、Perl、PHP、Python、Ruby和VB...

    PHP中基于perl的正则表达式处理函数

    本节我们就来介绍一下PHP中基于perl的正则表达式处理函数,主要包含了分割, 匹配,查找,替换等等处理操作,依旧是配合示例讲解,让我们开始吧。 和正则表达式一样,正则表达式处理函数不能够独立使用,而这必须相...

    PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)

    本节我们就来介绍一下PHP中基于perl的正则表达式处理函数,主要包含了分割, 匹配,查找,替换等等处理操作,依旧是配合示例讲解,让我们开始吧。 和正则表达式一样,正则表达式处理函数不能够独立使用,而这必须相...

    PHP使用正则表达式实现过滤非法字符串功能示例

    主要介绍了PHP使用正则表达式实现过滤非法字符串功能,结合留言板数据提交功能示例分析了php使用正则表达式preg_replace函数进行字符串正则替换相关操作技巧,需要的朋友可以参考下

    详解PHP正则表达式替换实现(PHP preg_replace,PHP preg_replace)

    PHP正则表达式替换实现是如何的呢?首先向你介绍下PHP preg_replace,PHP preg_replace的使用是我们实现的方法,那么对于PHP正则表达式替换实现过程我们从实例入手。 PHP正则表达式替换的相关概念: preg_replace:...

    regex-multi-tool:用于测试正则表达式并创建用于用正则表达式修改文本的微型工具的工具

    ,可让您测试正则表达式,查看正则表达式从给定字符串中捕获的内容,并在字符串上顺序应用多个查找/替换模式,使您可以使用正则表达式和编程逻辑执行复杂,可重复的文本转换。这是通过创建自定义动作来实现的(动作...

    PHP正则表达式函数preg_replace用法实例分析

    本文实例讲述了PHP正则表达式函数preg_replace用法。分享给大家供大家参考,具体如下: preg_replace 执行一个正则表达式的搜索和替换 语法:preg_replace (pattern ,replacement ,subject,limit,count ) 参数 ...

    PHP 正则表达式函数库(两套)

    正则表达式:用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。

    PHP正则表达式笔记与实例详解

    本文实例讲述了PHP正则表达式笔记与实例。分享给大家供大家参考,具体如下:...它主要用于字符串的模式分割、匹配、查找及替换操作。  1. 用途:匹配、查找、替换、分割  2. php提供了两套正则表达式函数库  *1. Per

    PHP preg_replace() 正则替换所有符合条件的字符串

    需要我们用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的。 比如模版引擎解析模版、垃圾敏感信息过滤等等... 代码如下:preg_replace (正则表达式, 替换成, 字符串, 最大替换次数

    PHP 正则表达式的几则使用技巧

    我的PHP正则入门,是起源于网上的一篇文章,这篇...它主要用于字符串的模式分割、匹配、查找及替换操作。 PHP中的正则函数: PHP中有两套正则函数,两者功能差不多,分别为: 一套是由PCRE(Perl Compatible Regular

    php小经验:解析preg_match与preg_match_all 函数

    PHP 中的应用在 PHP 应用中,正则表达式主要用于:•正则匹配:根据正则表达式匹配相应的内容•正则替换:根据正则表达式匹配内容并替换•正则分割:根据正则表达式分割字符串在 PHP 中有两类正则表达式函数,一类是...

    基于PCRE2的正则表达式模块 支持Unicode-易语言

    进行匹配和替换,不同于内容替换的是这个功能允许使用 \0 \1 \2这种类型的格式字符串传入,用以匹配 完整表达式捕获、第一个子表达式捕获、第二个子表达式捕获,同理支持最大\99 假设表达式为:(\d+)*(\d+),文本...

    PHP100视频教程 16:PHP小偷程序原理和实例

    它主要用于字符串的模式分割、匹配、查找及替换操作。2、正则表达式函数 ereg() eregi() ereg(正则表达式, 内容, 返回的数组); 若省略参数返回的数组,找到则返回值为 True 否则 返回 False ereg() 有区分大小写...

    PHP100视频教程 16:PHP小偷程序原理和实例.rar

    它主要用于字符串的模式分割、匹配、查找及替换操作。 2、正则表达式函数 ereg() eregi()  ereg(正则表达式, 内容, 返回的数组);  若省略参数返回的数组,找到则返回值为 True 否则 返回 False  ereg() 有...

    日常收集整理php正则表达式(超常用)

    以下是关于小编给大家日常收集整理php正则表达式,具体内容请看下文详解吧 ...下面这个用PHP写的函数,可以获取任意的字符串$string中的所有链接地址($string可以是从一个HTML页面文件直接读取出来的字符串),

    PHP删除字符串中非字母数字字符方法总结

    此函数执行正则表达式搜索和替换。函数preg_replace()搜索由pattern指定的字符串,如果找到则用替换替换模式。 代码示例: 方法1:正则表达式’/ [\ W] /’匹配所有非字母数字字符,并用”(空字符串)替换它们。...

    Java-PHP-C#

    也不要忘记反斜杆 ’\’ 在php字符串中可能会出现错误 (很普遍的错误). 现在,我们已经可以确认字符串了, 我们现在把所有逗号都去掉 str_replace(",", "", $money) 然后在把类型看成 double然后我们就可以通过他做...

Global site tag (gtag.js) - Google Analytics