php 正则匹配 常用的 规则(一) 匹配form表单

简介: php 正则匹配 常用的 规则(一) 匹配form表单

 

正则匹配 form 标签      

// 正则匹配 form 标签
  function regular_form_tags($string){ 
    $pattern = '/<form .*>(.*?)<\/form>/siU'; //$pattern = '/<form(.*?)>(.*?)<\/form>/si'; 
    preg_match_all($pattern,$string,$result);
    return $result;
  }

 

匹配符:

.   匹配除回车以外的任意字符 a.c  abc abbbbc
()  字符串分组 (a|b) a或b 
[]  定义字符类,匹配括号中的一个字符 [0-9] [a-z] 等
[^]  表示否定括号中出现字符类中的字符,取反。[^0-9] 是数字
\   转义字符

限定符:

*   某个字符之后加星号表示该字符不出现或出现多次
? 表示该字符出现一次或不出现 最多1次
+   表示其前面字符出现一次或多次,但必须出现-次
{n,m}某个字符之后出现,表示该字符最少n次,最多m次
{m} 正好出现了m次
模式修正符
i 模式中的字符将同时匹配大小写字母
s 将字符串视为单行,换行符作为普通字符
x 将模式中的空白忽略
U 匹配最近的字符串  匹配多次

// 正则匹配 form 标签的 action 属性值

// 正则匹配 form 标签的 action 属性值
  function regular_form_action($string){
    $pattern = '/action[\s]*?=[\s]*?([\'\"])(.*?)\1/';
    if(preg_match($pattern,$string,$result)){
      return $result[2];
    }
    return null;
  }

// 正则匹配 input 标签

// 正则匹配 input 标签
  function regular_input_tags($string){
    $pattern = '/<input.*?\/?>/si'; 
    if(preg_match_all($pattern,$string,$result))
      {
        return $result; 
      }
    return null;
  }

匹配input截图

// 正则匹配 input 标签的 value 属性值

// 正则匹配 input 标签的 value 属性值
  function regular_input_value($string)
  {
    $pattern = '/value[\s]*?=[\s]*?([\'\"])(.*?)\1/';
        //         '/value=\"(.+)\"/isU'     这个也可以
        //         '|value="(.*)"|isU'
        //         '/<input .* value="(.*)>/'
    if(preg_match($pattern,$string,$result))
    {
      return $result[2];
    }
    return null; 
  }

 

// 正则匹配 textarea 标签

// 正则匹配 textarea 标签
  function regular_textarea_tags($string)
  {
      $pattern = '/(<textarea.*?>.*?<\/textarea[\s]*?>)/si'; 
     if(preg_match_all($pattern,$string,$result))
      {
          return $result[1];
       }
      return null;
  }

 

   // 正则匹配 select 标签

function regular_select_tags($string)
  {
    $pattern = '/<select(.*?)>(.*?)<\/select[\s]*?>/si';
    preg_match_all($pattern,$string,$result);
    return $result;
  }

常用

preg_match_all('/src="(.*)">/isU',$html,$result3); 图片
preg_match_all('/<table.*>(.*)<\/table>/isU',$html,$result);
preg_match_all('/<td.*>(.+)<\/td>/isU',$html,$result);
preg_match_all('/value=\"(.+)\"/isU',$html,$result);
preg_match_all('|value="(.*)"|isU',$html,$result0);
preg_match_all('/<span.*>(.+)<\/span>/isU',$html,$result);

图片的:

目录
相关文章
|
3月前
|
JavaScript 前端开发 安全
php学习笔记-普通表单参数提交获取及页面的重定向和一个登录小demo-day05
本文介绍了PHP中普通表单参数的提交获取、页面重定向的方法,并通过一个登录示例演示了表单参数的封装和页面跳转处理。
|
6月前
|
存储 程序员 PHP
老程序员分享:Php中正则小结(一)
老程序员分享:Php中正则小结(一)
29 0
|
3月前
|
XML 前端开发 JavaScript
php中Ajax的简单使用,登录表单调用Ajax判断是否正确登录利用layer.msg进行提示
本文介绍了在PHP中如何使用Ajax进行登录表单的数据提交,并利用jQuery的$.post()方法与后端通信,以及使用layer.msg进行前端提示。
php中Ajax的简单使用,登录表单调用Ajax判断是否正确登录利用layer.msg进行提示
|
4月前
|
PHP 数据格式
PHP表单
PHP表单
36 1
|
4月前
|
安全 Java 云计算
JSF 应用究竟何去何从?云端部署能否成为其全新突破点?快来一探究竟!
【8月更文挑战第31天】本文介绍了将JavaServer Faces(JSF)应用部署到云平台的过程。首先,根据成本、功能、可靠性和安全性选择合适的云平台。接着,展示了构建简单JSF应用的示例代码。最后,以AWS Elastic Beanstalk为例,详细说明了部署流程。部署至云端可提升应用的可用性、扩展性和安全性。
48 0
|
5月前
|
API PHP UED
​一个PHP文件实现联系表单自动发送邮件
使用PHP和AOKSend服务,可以创建一个联系表单,收集用户信息并自动发送邮件。HTML表单包含姓名、邮箱和消息字段。PHP文件`send_mail.php`处理表单提交,通过AOKSend的SMTP设置(如主机、端口、API密钥)使用PHPMailer发送邮件到指定地址。代码中还包括安全措施,如使用`htmlspecialchars`防止XSS攻击。这种方法增强了网站的用户沟通体验,并依赖AOKSend的稳定性和API进行高效邮件发送。
|
6月前
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
|
5月前
|
存储 PHP 数据库
|
3月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!