`
gzycnet
  • 浏览: 31190 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

贴几个常用的正则表达式PHP代码

阅读更多

$str = preg_replace("/(<a.*?>)(.*?)(<\/a>)/", '\1<span class="link">\2</span>\3', $str);
其中用了三个子模式(每个圆括号中内容为一个子模式),第一个是链接开始标签,第二个是链接文本,第三个是</a>
然后第二个参数中\1、\2、\3就表示这三个部分,要替换成什么样子还不简单?
获取页面中的所有链接地址的PHP函数
下面这个用PHP写的函数,可以获取任意的字符串$string中的所有链接地址($string可以是从一个HTML页面文件直接读取出来的字符串), 结果保存在一个数组中返回.该函数自动把电子邮件地址排除在外,而且返回的数组中不会有重复元素.
代码如下:
function GetAllLink($string)
{
$string = str_replace("\r","",$string);
$string = str_replace("\n","",$string);
$regex[url] = "((http|https|ftp|telnet|news):\/\/)?([a-z0-9_\-\/\.]+\.[][a-z0-9:;&#@=_~%\?\/\.\,\+\-]+)";
$regex[email] = "([a-z0-9_\-]+)@([a-z0-9_\-]+\.[a-z0-9\-\._\-]+)";
//去掉标签之间的文字
$string = eregi_replace(">[^<>]+<","><", $string);
//去掉JAVASCRIPT代码
$string = eregi_replace("<!--.*//-->","", $string);
//去掉非<a>的HTML标签
$string = eregi_replace("<[^a][^<>]*>","", $string);
//去掉EMAIL链接
$string = eregi_replace("<a([ ]+)href=([\"']*)mailto:($regex[email])([\"']*)[^>]*>","", $string);
//替换需要的网页链接
$string = eregi_replace("<a([ ]+)href=([\"']*)($regex[url])([\"']*)[^>]*>","\\3\t", $string);
$output[0] = strtok($string, "\t");
while(($temp = strtok("\t")))
{
if($temp && !in_array($temp, $output))
$output[++$i] = $temp;
}
return $output;
}

以下是以PHP的语法所写的示例
验证字符串是否只含数字与英文,字符串长度并在4~16个字符之间
代码如下:
<?php
$str = 'a1234';
if (preg_match("^[a-zA-Z0-9]{4,16}$", $str)) {
echo "验证成功";} else {
echo "验证失敗";}?>


简易的台湾身分证字号验证
代码如下:

<?php
$str = 'a1234';
if (preg_match("^(?:\d{15}|\d{18})$", $str)) {
echo "验证成功";
} else {
echo "验证失敗";}
?>
分享到:
评论

相关推荐

    精通正则表达式~~~

    精通正则表达式第三版 搜集于网络 前言..........I 第1章:正则表达式入门.... 1 解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于...

    正则表达式经典实例中文版 (美)高瓦特斯

     使用8种编程语言的详细解决方案,包括一个正则表达式简明教程 内容简介 《正则表达式经典实例》讲解了基于8种常用的编程语言使用正则表达式的经典实例。书中提供了上百种可以在实战中使用的实例,以帮助读者...

    php中常用的正则表达式的介绍及应用实例代码

    PHP 正则表达式的几则使用技巧//www.jb51.net/article/19832.htm以下内容为php中常用的正则,正则是一门通用性的语法,可以在网上下载更全面的正则,提供学习! 作用:分割,匹配,查找,替换 1,php中两个常用的...

    PHP正则表达式的效率 回溯与固化分组

    先来看下问题。 字符串 代码如下: $str = ‘[removed]123456[removed... 这三个正则,分别会造成几次回溯呢?? 答案: 代码如下: $strRegex1 = ‘%[removed].+&lt;\/script&gt;%’; //9次,记得区别转义符号。 $strRegex2

    super-expressive-php:super-expressive-php是一个php库,可让您以几乎自然的语言构建正则表达式

    超级富有表现力PHP Super Expressive PHP是一个PHP库,可让您以几乎自然的语言构建正则表达式-无需额外的依赖关系,并且代码占用量少。该库是的端口为什么?正则表达式是一个非常强大的工具,但是其简洁而神秘的词汇...

    PHP代码审计工具V2.0.8源码20121108

    更新信息:在2.0.7版本的基础上修复一个BUG,大大优化扫描速度,增加扫描速度选择,优化代码,增加几个危险函数。 其他功能: 源码浏览:载入程序源码后,可以在最左边的程序文件列表里面点击浏览源码,扫描出包含...

    editplus 代码编辑器html c++ jsp css

    这个也算正则表达式的用法,其实仔细看正则表达式应该比较简单,不过既然有这个问题提出,说明对正则表达式还得有个认识过程,解决方法如下 解决: 在替换对话框中,启用“正则表达式”复选框 在查找内容里面输入...

    Java-PHP-C#

    一个正则表达式,分为三个部分:分隔符,表达式和修饰符。 分隔符可以是除了特殊字符以外的任何字符(比如"/ !"等等),常用的分隔符是"/"。表达式由一些特殊字符(特殊字符详见下面)和非特殊的字符串组成,比如...

    功能超级强悍的文本编辑器 PilotEdit 14.3.0 + x64 中文多语免费版.zip

    文本编辑器,支持文本编辑,比较,FTP编辑,FTP上传下载,加密,十六进制编辑,列模式,回行显示,正则表达式,多行查找和替换,代码折叠,关键字高亮显示,编辑400GB的大文件,比较100GB的大文件,对超过1G的大文件...

    Seay PHP代码审计工具V2.0.8

    功能说明:在2.0.7版本的基础上修复一个BUG,大大优化扫描速度,增加扫描速度选择,优化代码,增加几个危险函数。 —————————————————————————————————————— 下个版本将推出...

    EditPlus 2整理信箱的工具

    正则表达式类 【1】 正则表达式应用——替换指定内容到行尾 【2】 正则表达式应用——数字替换----------------------------Microshaoft@CCF,jiuk2k@CCF 【3】 正则表达式应用——删除每一行行尾的指定字符 【4】 ...

    Editplus 3[1].0

    这个也算正则表达式的用法,其实仔细看正则表达式应该比较简单,不过既然有这个问题提出,说明对正则表达式还得有个认识过程,解决方法如下 解决: 在替换对话框中,启用“正则表达式”复选框 在查找内容里面输入...

    php脚本资料电子书籍

    几个php病毒的源代码 将PHP作为Shell脚本语言使 经验积累,献给PHP爱好者!!! 漂亮但不安全的CTB论坛--CTB论坛再探 如何对PHP程序中的常见漏洞进行攻击(上) 如何对PHP程序中的常见漏洞进行攻击(下) 入侵服务器...

    求PHP数组最大值,最小值的代码

    php $fruits = array(“155::[removed]:https://www.jb51.net/list/list_114_1.htm”, “1::[removed]:https://www.jb51.net/list/list_3_1.htm”, “2::正则表达式::https://www.jb51.net/list/list_6_1.htm”, “3...

    vscode-regex

    特征 在并排文档中显示当前正则表达式的匹配项。... 几个错误修正 赶上最新版本 0.0.6 一次切换操作即可打开/关闭正则表达式匹配 0.0.5 让它再次在Windows上运行... 0.0.4 允许任何编辑者显示匹配项

    PHP和MySQL Web开发第4版pdf以及源码

    2.10.1 使用普通文件的几个问题 2.10.2 RDBMS是如何解决这些问题的 2.11 进一步学习 2.12 下一章 第3章 使用数组 3.1 什么是数组 3.2 数字索引数组 3.2.1 数字索引数组的初始化 3.2.2 访问数组的内容 ...

    php网络开发完全手册

    1.2.2 PHP擅长的几个领域及产品介绍 5 1.2.3 PHP不适合做什么 6 1.2.4 其他案例 6 1.3 PHP的Hello, world预览 6 1.3.1 第一个PHP程序Hello, world 6 1.3.2 学习PHP应该准备哪些软件 8 1.3.3 相关知识领域的介绍 9 ...

    PHP和MySQL WEB开发(第4版)

    2.10.1 使用普通文件的几个问题 2.10.2 RDBMS是如何解决这些问题的 2.11 进一步学习 2.12 下一章 第3章 使用数组 3.1 什么是数组 3.2 数字索引数组 3.2.1 数字索引数组的初始化 3.2.2 访问数组的内容 3.2.3 使用...

    Boost库定制安装更新版

     Boost中比较有名气的有这么几个库:  Regex  正则表达式库  Spirit  LL parser framework,用C++代码直接表达EBNF  Graph  图组件和算法  Lambda  在调用的地方定义短小匿名的函数对象,很实用的...

    用PHP代替JS玩转DOM的思路及示例代码

    一个比较直观的方法是对html文件进行分析,通用的方法是用php的正则表达式来匹配。但是这样做开发和维护都很困难,代码可读性非常差。 导航页的数据都是规则的排列在DOM树当中的,用JS可以用几个循环轻松的对其进行...

Global site tag (gtag.js) - Google Analytics