如何使用 PHP 从 HTML 代码中删除多余的
标签?

2023-12-01

我正在用 PHP 解析一些凌乱的 HTML 代码,其中有一些冗余
标签,我想清理一下它们。例如:

<br>

<br /><br /> 


<br>

我如何使用 preg_replace() 替换类似的东西?:

<br /><br />

换行符、空格以及它们之间的差异<br>, <br/>, and <br />都必须考虑在内。

编辑:基本上我想用两个替换三个或更多连续中断的每个实例。


这是你可以使用的东西。每当有 2 个或更多时,第一行就会查找<br>标签(不同类型之间有空格)并将其替换为格式良好的<br /><br />.

我还包括了第二行来清理其余的<br>标签,如果你也想要的话。

function clean($txt)
{
    $txt=preg_replace("{(<br[\\s]*(>|\/>)\s*){2,}}i", "<br /><br />", $txt);
    $txt=preg_replace("{(<br[\\s]*(>|\/>)\s*)}i", "<br />", $txt);
    return $txt;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 PHP 从 HTML 代码中删除多余的
标签? 的相关文章

随机推荐

  • 可见性:隐藏与显示:无与不透明度:0

    我目前正在开始一个动画项目 在项目中我将有超过40000divs 并迭代地为它们设置动画 如果有任何一个divs 处于被动状态 即至少 2 秒内没有动画 我不会显示它们以提高动画性能 问题是 哪个 css 属性最适合这个 passive1
  • 访问:Shell cmd 打开MDB

    我一直在使用以下命令通过 VBA 打开另一个 MDB Access 文件 Shell cmd c Chr 34 strNewFullPath Chr 34 vbHide strNewFullPath 是 MDB 文件的完整路径 使用 Acc
  • Talend - 限制处理的行数

    我正在使用 Talend ETL 在两个 Salesforce 组织之间传输数据 我正在尝试运行初步测试以确保一切设置正确 有没有办法限制传输的行数 数据库有超过 50 000 行 我只想发送超过 15 或 20 行 谢谢 在 Talend
  • 使用 OAuth2 从命令行访问 App Engine 应用程序?

    我有一个 App Engine 站点 其 URL 被标记为login required在 app yaml 中 我需要从命令行脚本访问此 URL 既然 OAuth2 已取代 ClientLogin 我该怎么做 之前的问题 最终都使用了Cli
  • Powershell - 错误 CS0246:找不到类型或命名空间名称“ICertificatePolicy” - gitlab 管道失败

    我正在尝试重用这个执行部署后烟雾测试的 powershell 脚本 当我在构建服务器上本地运行时 该脚本工作得很好 但是当我尝试通过我的 gitlab 管道运行时 它会失败并出现错误 add type 3 36 错误 CS0246 找不到类
  • 如何添加新的分组变量

    如何根据日期添加另一个变量作为分组变量 这是我的数据 df lt tibble id c rep 1 8 rep 2 3 col structure c 19031 19031 19031 19031 19072 19072 19072 1
  • 购物车 - 购物车中的商品数量 CSS

    正如我们在流行网站上看到的那样 网站上有一个小图标 top right的购物车图标 我必须在我的 ASP NET 网页中使用类似的东西 如何将此图标置于购物车图标的右上角 购物车的图标是普通的引导程序图标 购物车中商品数量的 css 如下
  • 如何使用 XCUITest 测试 UIImageView 是否包含具有特定名称的图像?

    我有一个 collectionView 它有一堆单元格 每个单元格中包含一个 UIImageView 我想测试每个单元格中 imageView 的图像是否与正确的图像名称匹配 在生产代码中 我向 UIImageView 示例添加了一个辅助功
  • 在ios swift中将firebase数据添加到数组中

    我在从 firebase 数据库获取数据并将其添加到数组中时遇到问题 该方法的打印输出获取新报价显示数组为空 但屏幕截图显示标签已在获取新报价方法 怎么会发生这种事 事件中是否存在延迟获取新报价导致这种情况的方法 此外 标签是如何随着第四次
  • 在Python中从json中获取多个键

    我的文件中有以下 json 结构 Date timevalue Org b4256282 Referer somevalue Date timevalue Org b4257482 Referer somevalue Date timeva
  • 如何在同一 Play 控制台商店列表中分发 Android 手机+wearOS 项目

    我有一个手机项目 以及一个手表 wearOS 项目 90 的代码在两个项目之间共享 我想将它们打包并分发到同一个商品详情中 注意 所有共享代码都存在于公共库模块中 我尝试将手表项目作为模块添加到我现有的手机项目中 但是在生成要发布的应用程序
  • 如何将 UIPageControl 与 iCarousel 一起使用?

    我在 icarousel 中有一些图像 约20张图片 我想在一页上放 5 张图片 图像像素或图像位置没有问题 如何在没有ScrollView的情况下使用uipagecontrol 例如 能够使用一些委托方法 等等 carousel type
  • Node.js:确定修改时的文件大小

    我正在 Node js 中查看一个文件 并希望在每次更改时获取该文件的大小 如何做到这一点fs watchFile 这就是我目前正在做的事情 fs watchFile file function curr prev determine fi
  • AttributeError:模块“pyparsing”没有属性“downcaseTokens”rasa

    我在使用 rasa 时遇到问题 因为出现以下错误 我无法跑步或训练或做任何事情 回溯 最近一次调用最后一次 文件 c users dell anaconda3 envs rasanew lib runpy py 第 193 行 位于 run
  • 将子控制器添加到表视图单元格时不会调用 viewWillAppear

    当我将子视图控制器添加到表视图单元格时 它看起来像视图将出现对于子视图控制器不被调用 仅查看是否出现 表视图控制器方法 override func tableView tableView UITableView cellForRowAtIn
  • 删除具有相似前缀的重复行

    我需要删除文件中具有重复前缀的类似行并保留唯一的行 由此 abc def ghi abc def ghi jkl one abc def ghi jkl two 123 456 123 456 789 xyz to this abc def
  • 执行动态加载的JS文件

    我理解JS是单线程 同步执行的 因此 当我将文件添加到浏览器头标记时 该文件一遇到就会执行 然后它转到下一个脚本标记并执行该文件 我的问题是当我将 js 文件动态添加到 HTML head 标记时 浏览器如何执行该文件 是不是像当前执行的地
  • 如何用CSS将矩形图像“裁剪”成正方形?

    我知道用 CSS 实际修改图像是不可能的 这就是为什么我将裁剪放在引号中 我想做的是拍摄矩形图像并使用 CSS 使它们显示为正方形而不扭曲图像 我基本上想把这个 进入这个 没有包装器的纯 CSS 解决方案div或其他无用的代码 img ob
  • 在启动时设置默认的 matlab 路径

    我的团队正在尝试标准化我们的 Matlab 路径 以便每个人都有相同的路径 我有一个我们都应该拥有的默认 matlab 路径列表 因此 我们希望有一个在 matlab 打开时运行的脚本 以确保我们的路径设置为默认的 matlab 路径 因此
  • 如何使用 PHP 从 HTML 代码中删除多余的
    标签?

    我正在用 PHP 解析一些凌乱的 HTML 代码 其中有一些冗余标签 我想清理一下它们 例如 br br br br 我如何使用 preg replace 替换类似的东西 br br 换行符 空格以及它们之间的差异 br br and br