首页 > 编程问答 >获取自定义 HTML 开头标记和结尾标记之间的文本

获取自定义 HTML 开头标记和结尾标记之间的文本

时间:2024-06-07 14:51:57浏览次数:20  
标签:php regex html-parsing text-extraction

$data = "<Data>hello</Data>";
preg_match_all("/\<Data\>[.]+\<\/Data\>/", $data, $match);
print_r($match);

返回:

Array ( [0] => Array ( ) )
Array ( [0] => Array ( ) )

所以我猜没有匹配到?


你是对的,你的正则表达式没有匹配到任何东西。原因在于两点:

  1. [.]+ 的含义: 在正则表达式中,方括号 [] 用于定义一个字符类。字符类匹配其中任何 一个 字符。 . 在字符类中表示普通的点号,而不是匹配任何字符的通配符。因此, [.]+ 匹配的是一个或多个连续的点号 . ,而不是你期望的任何字符。
  2. 需要转义的字符: 在你的正则表达式中, &lt; &gt; 是特殊字符,需要进行转义。

为了匹配 <Data> 标签之间的任何内容,你需要修改你的正则表达式:

$data = "&lt;Data&gt;hello&lt;/Data&gt;";
preg_match_all("/&lt;Data&gt;(.+?)&lt;\/Data&gt;/", $data, $match);
print_r($match);

解释:

  • &lt;Data&gt; &lt;/Data&gt; : 匹配 <Data> </Data> 标签。
  • (.+?) : 匹配标签之间的任何字符 ( . 匹配任何字符),并尽可能少地匹配字符 ( +? 是非贪婪匹配)。括号用于捕获匹配的内容。

使用这个修改后的正则表达式,你会得到以下输出:

Array
(
    [0] => Array
        (
            [0] => &lt;Data&gt;hello&lt;/Data&gt;
        )

    [1] => Array
        (
            [0] => hello
        )

)

输出结果是一个二维数组:

  • $match[0] 包含所有匹配到的完整字符串。
  • $match[1] 包含所有匹配到括号 () 中的内容,这里是 <Data> 标签之间的 hello

标签:php,regex,html-parsing,text-extraction
From: 2974142

相关文章

  • ThinkPHP发邮件配置教程?群发功能安全吗?
    ThinkPHP发邮件的注意事项?如何优化邮件发送的性能?无论是用户注册、密码重置还是消息提醒,发送邮件都是一个常见的需求。AokSend将详细介绍如何在ThinkPHP框架中配置和发送邮件,帮助开发者轻松实现邮件功能。ThinkPHP发邮件:了解需求在开始配置之前,我们需要明确邮件发送的具体......
  • PHP实名认证接口开发示例、银行卡实名认证API
    在互联网技术多元化、高速的发展下,催生出在挑战中不断奋勇前进的互联网企业。但不能忽视的是,互联网技术的快速迭代也会使部分企业在冲击中败下阵来,面临淘汰的危机。随着O2O、共享经济等新兴商业形式的兴起,企业对实名认证业务的数据形式和数据质量也有了更高的要求。这一现实警......
  • LCTF 2018 bestphp‘s revenge
    考点:Soap原生类+Session反序列化+CRLF注入<?phphighlight_file(__FILE__);$b='implode';call_user_func($_GET['f'],$_POST);session_start();if(isset($_GET['name'])){$_SESSION['name']=$_GET['name......
  • JetBrains PhpStorm 激活码限时特惠 7.1 折快抢!
    各位程序员,每天敲代码真的需要一款好用的IDE,大名鼎鼎的JetBrains值得信赖!PHP开发看过来,PhpStorm个人版首年订阅618限时特惠7.1折,有需要的朋友一定不要错过!PhpStorm汇集了众多效率功能和集成工具,帮助程序员更快、更智能地写代码。限时优惠别错过,活动仅3天!活动......
  • XML-RPC实现WebService简单PHP程序示例 及 Closure闭包中的bind与bindTo方法的区别
    一、XML-RPC实现WebService简单PHP程序示例    WebService就是为了异构系统的通信而产生的,它基本的思想就是使用基于XML的HTTP的远程调用提供一种标准的机制,而省去建立一种新协议的需求。目前进行WebService通信有两种协议标准,一种是XML-RPC,另外一种是SOAP。XML-RPC比较......
  • PHP_CMS系统代码解析-wordpress
          WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把WordPress当作一个内容管理系统(CMS)来使用。  模板基本文件 使用模板通过函数的调用,让模板之间形成完整的整体。style.css:CSS(样式表)......
  • 计算机毕业设计项目推荐,28259校园信息交流平台的设计与实现(开题答辩+程序定制+全套文
    摘 要随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,校园信息交流平台被用户普遍使用,为方便用户能够可以随时进行校园信息交流平台的数据信息管理,特开发了基于校园信息交流......
  • 计算机毕业设计项目推荐,28326 校园商店管理系统的设计与实现(开题答辩+程序定制+全套文
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,校园商店当然也不能排除在外。校园商店是以实际运用为开发背景,运用软件工程原理和开发方法,采用Java技术构建的一个管理系统。整个开发过程首先对软件系统......
  • (免费领源码)Java/Mysql数据库+04770 基于Java的书籍借阅管理系统设计与实现,计算机毕业
    摘 要随着科学技术的告诉发展,我们已经步入数字化、网络化的时代。图书馆是学校的文献信息中心,是为全校教学和科学研究服务的学术性机构,是学校信息化的重要基地。图书馆的工作是学校和科学研究工作的重要组成部分,是全校师生学习和研究的重要场所。为了提高图书馆的工作效率......
  • (免费领源码)Java/Mysql数据库+04827基于PHP的高校二手物品交易系统的设计与实现,计算机
    本科生毕业论文(设计) 题   目PHP高校二手物品交易系统学   院       XXXXX     专业班级   XXXXX学生姓名       XXXX    指导教师            XXXX          撰写日期:2022年5月10日目 录摘......