拆分 html 代码标签和内容

2024-01-11

有没有比我对正则表达式了解更多的人知道如何拆分 html 代码,以便将所有标签和所有单词分开,即。

<p>Some content <a href="www.test.com">A link</a></p>

是这样分开的:

array = { [0]=>"<p>",
          [1]=>"Some",
          [2]=>"content",
          [3]=>"<a href='www.test.com'>,
          [4]=>"A",
          [5]=>"Link",
          [6]=>"</a>",
          [7]=>"</p>"

到目前为止,我一直在使用 preg_split ,并且成功地设法按空格分割字符串或按标签分割字符串 - 但当我需要将其分割到时,所有内容都在一个数组元素中。

有人帮我吗?


在这种情况下不应使用 preg_split。尝试 preg_match_all:

$text = '<p>Some content <a href="www.test.com">A link</a></p>';
preg_match_all('/<[^>]++>|[^<>\s]++/', $text, $tokens);
print_r($tokens);

output:

Array
(
    [0] => Array
        (
            [0] => <p>
            [1] => Some
            [2] => content
            [3] => <a href="www.test.com">
            [4] => A
            [5] => link
            [6] => </a>
            [7] => </p>
        )

)

我假设你忘记包括'A' in 'A link'在你的例子中。

意识到当你的 HTML 包含 并不意味着作为标签的开始或结束时,正则表达式会把事情搞得一团糟! (因此出现警告)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

拆分 html 代码标签和内容 的相关文章

随机推荐

  • 画布中的 Tkinter 窗口未填充其父窗口的高度

    我希望我的滚动条位于框架底部 并且我的文本小部件填充滚动条上方的整个框架 我找到了一些关于宽度配置的解决方案here https stackoverflow com questions 29319445 tkinter how to get
  • 在 ios 上通过 Twilio 发送短信?

    我怎么能够通过 twilio 发送短信 https www twilio com docs api rest 我已经尝试过并正在执行以下操作 IBAction sendButtonPressed id sender NSLog Sendin
  • 间歇性 java.io.IOException:来自 Amazon EC2 内部的 jdk.internal.net.http.HttpClientImpl.send 中的连接重置(不是对等方重置的连接)

    在 Amazon EC2 中使用 openjdk 14 0 1 我遇到间歇性问题java io IOException Connection reset当通过 https 使用 POST 请求访问外部 REST 服务时 在 EC2 之外不会
  • 在运行时添加 WPF 控件

    我编写了一个 WPF UserControl 并希望在运行时单击按钮时将其中一个或多个添加到我的窗口中 我怎样才能做到这一点 编辑 进一步规范 我想将用户控件添加到画布中 并放置在绝对位置 画布是我房子里的地板图 每个用户控件都有属性来指示
  • Fabricjs删除backgroundImage

    是否可以删除背景图像fabric Canvas设置后 canvas setBackgroundImage img url function canvas renderAll 或者只是回到标准背景 要设置backgroundColor to
  • Kotlin 中 lambda 表达式的默认参数

    我想创建一个 lambda 并将其分配给一个变量 并且以下内容按预期工作 val rollDice min Int max Int gt min max random 但是 当我尝试为参数分配默认值时 出现错误 val rollDice m
  • Android应用程序生命周期和静态的使用

    对于 Android 来说 这是正确的代码吗 调用 init 来自MyApplication onCreate public class Connectivity static ConnectivityManager cm public s
  • 在 Python 中实现 __concat__

    我尝试实施 concat 但没有成功 gt gt gt class lHolder def init self l self l l def concat self l2 return self l l2 def iter self ret
  • Java 中已弃用的 JDBC 日期(java.sql 包)

    我正在使用 JDBC 和 MySQL 我有一个日期列 需要将其包含在结果集中 不幸的是 我找不到 Java 中的类来检索日期 SQL Date 类已弃用 如何从结果集中获取 Date 对象 You use java sql 日期 http
  • 基于图的数据库 (http://neo4j.org/) 有哪些用例? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Laravel:如何检查 Redis 可用性?

    我如何检查Redis连接的可用性拉拉维尔 5 4 我尝试了下面的代码 但 ping 线路出现异常 如果 Redis 未连接 我该怎么办而不是做其他事情以避免异常 由于目标机器主动连接 无法建立连接 拒绝了 tcp 127 0 0 1 637
  • 询问用户 SIM 卡 PIN 码

    我搜索了与此类似的问题 但没有运气 我正在编写一个应用程序 为了正确验证用户身份 它应该要求他输入正确的 SIM 卡 是否有可能 或者我是否必须使用另一个 PIN 码才能进行应用程序身份验证 我不确定这是否可行 但由于有些设备没有 SIM
  • 在 IntelliJ 中生成文件时关闭“创建者”标记

    我找不到这个选项 例如 当我创建一个新的 Scala 类时 以下文本将放置在文件中 Created by ben on 6 23 14 In IntelliJ 13 and above it is in the File and Code
  • 布尔系统(适用于 C++/C#/java)

    我如何以编程方式解决此类系统 A B B C D B E A E B 所以我可以通过替换A C D 3 and E B 2 我只需要2组的数量 如果无法获得 2 个组 我会显示一条错误消息 万一 这不是作为一个骗局而关闭 从我的answer
  • GuiceApplicationLoader配置错误

    因此 我尝试使用如下所示的方法来实现编译时 DI package modules class MyModule extends AbstractModule def configure bind classOf MyT to classOf
  • Django NoReverseMatch

    我正在 django 1 6 和 python 2 7 中制作一个简单的登录应用程序 并且在开始时出现错误 该错误不允许我继续 这是网站的 url py from django conf urls import patterns inclu
  • docker run 的命令行参数

    我正在尝试慢慢构建一个 docker 镜像来满足我们的需求 我想做的是运行具有单声道的基本映像 然后让单声道在后台运行可执行文件 从普通的命令行 如果不尝试在容器中运行它 它看起来像 usr local bin mono home crys
  • 在 codeigniter 中删除后从文件夹中删除图像

    我不仅想删除数据库中的图像 还想删除文件夹中的图像 这是我的模型 public function delete id if this gt db gt delete np gallery id id return true 这是我的控制器
  • 在特定时间在 qglwidget 上绘制一个矩形

    我在 ubuntu 16 04 上使用 Qt 5 7 和 c 我正在尝试实现一个继承 qglwidget 的类 它以给定的速率 3 10 Hz 将图像渲染到屏幕上 除此之外 我想在屏幕上的某处绘制一个小矩形 将其颜色从黑色更改为白色 反之亦
  • 拆分 html 代码标签和内容

    有没有比我对正则表达式了解更多的人知道如何拆分 html 代码 以便将所有标签和所有单词分开 即 p Some content a href www test com A link a p 是这样分开的 array 0 gt p 1 gt