如果
之前或之后没有文本,如何删除它? DOMxpath 还是正则表达式?

2023-12-28

我怎样才能删除<br/>如果之前或之后没有文字?

例如,

<p><br/>hello</p>
<p>hello<br/></p>

它们应该像这样重写,

<p>hello</p>
<p>hello</p>

我应该使用 DOMxpath 还是正则表达式会更好?

(注:我有一个post https://stackoverflow.com/questions/6837892/remove-pbr-p-with-domxpath-or-regex关于删除<p><br/></p>之前使用 DOMxpath,然后我遇到了这个问题!)

EDIT:

如果我在输入中有这个,

$content = '<p><br/>hello<br/>hello<br/></p>';

那么应该是

<p>hello<br/>hello</p>'

要选择提到的 br,您可以使用:

 "//p[node()[1][self::br]]/br[1] | //p[node()[last()][self::br]]/br[last()]"

或者,(也许)更快:

 "//p[br]/node()[self::br and (position()=1 or position()=last())]"

当 p 的第一个(或最后一个)节点是 br 时,只需获取 br。

这将选择 br 例如:

<p><br/>hello</p>
<p>hello<br/></p>

第一个和最后一个 br 像这样:

<p><br/>hello<br/>hello<br/></p>

不是像这样的中间 br:

<p>hello<br/>hello</p>

PS:最终获得像这样的一对中的第一个 br<br/><br/>:

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

如果
之前或之后没有文本,如何删除它? DOMxpath 还是正则表达式? 的相关文章

  • 如何检查字符串是否具有特定模式[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 用户输入任意字符串 程序会区分该字符
  • 是否可以使用 PHP 检测用户来自哪个操作系统? (Mac 或 Windows)

    比方说 我想回应 你正在使用 Windows 或 您正在使用 Macintosh 具体取决于用户的操作系统 这可能吗 通过分析 SERVER HTTP USER AGENT 可以说出什么system and browser 用户是claim
  • 生成 CloudFront 签名 URL 时性能缓慢

    我正在按照此示例使用 PHP 在 CloudFront 上创建签名 URLhttp docs aws amazon com AmazonCloudFront latest DeveloperGuide CreateURL PHP html
  • MPDF 未定义索引错误

    我正在使用 MPDF 库将 HTML 转换为 PDF 这是我的代码 HTML HTML CONTENT GOES HERE HTML STRING MPDF gt WriteHTML html Converting MPDF gt Outp
  • 如何使用固定位置 div/ 的浮动、清除和溢出元素并排对齐两个 div/

    所以我一直在尝试将两个 div 并排对齐而不重叠 我有一个 div 将被固定为侧边栏 而右侧的 div 将被固定为内容 希望有人可以帮助我 body background color 444 margin top 0 margin bott
  • 在 HTML SELECT 标记中禁用键盘

    我想禁用 HTML SELECT 标记的键盘 以便用户只能使用鼠标来选择选项 我试过了event cancelBubble true on the onkeydown onkeyup and onkeypress没有运气的事件 有任何想法吗
  • 如何使用来自数据库的值来定义 Twig 模板的全局变量?

    我想为 twig 定义一个全局变量 可以从任何模板访问它 我可以在 symfony 中创建一个全局变量config packages twig yaml 但我需要它是从数据库获取的值 在 twig 的文档中 它说使用此代码 twig new
  • 如何使用 xslt 选择节点的祖父母

    我所处的情况是 我只能测试子节点 但我必须将标签应用于该子节点的祖节点 我尝试过使用
  • PHPstorm - 无法在blade.php 文件中设置断点

    我正在开发 Laravel 应用程序 可以很好地调试我的控制器 php 文件 但我还想调试blade php 文件 在我当前的设置中 我遵循了所有 jetbrains 为 Laravel 推荐的设置 https confluence jet
  • PHP 静态变量用双引号引起来

    如何让 PHP 计算双引号中的静态变量 我想做这样的事情 log self CLASS METHOD entering 我尝试过各种 组合来获取变量值self CLASS 但没有任何效果 我目前已经解决了字符串连接问题 但输入起来很痛苦 l
  • 表单未使用 AJAX 提交

    再次更新 如果有人关心的话 我之前发布的解决方案由于某种原因停止工作 我在 ajax 请求中包含了 beforeSend 并将验证表单的 js 部分粘贴到其中 现在就像一个魅力 form on submit function e e pre
  • Jquery 动画与 CSS 浮动

    我的代码有问题 宽度似乎可以工作 但浮动没有 这里是 这是一个例子 http jsfiddle net v82ck http jsfiddle net v82ck 问题 悬停时菜单上的浮动属性不会改变 我希望每个菜单元素下方的线在悬停该菜单
  • 如何在网格视图的单元格中插入换行符?

    我想知道如何在网格视图的单元格中添加换行符 现在 我把 1 1 1 然而 这呈现为 1 1 1 如何修复换行符 以便每个数字显示在自己的行上 Add HtmlEncode False to asp BoundField并且在正文中 应该有
  • IE 9 的子元素不透明,我无法使用 captify 阻止它

    好的 我正在使用一段名为 Captify 的 javascript 它为您的图像添加了一个带有文本的小弹出窗口 适用于所有接受 IE9 的浏览器 IE9 会淡化弹出 div 中的所有内容 我已阅读其子元素问题 但无法修复它 由于在网上任何地
  • 如何在 PHP 中递归删除目录及其全部内容(文件+子目录)? [复制]

    这个问题在这里已经有答案了 如何在 PHP 中删除目录及其全部内容 文件和子目录 手册页中的用户贡献部分rmdir http www php net rmdir包含一个不错的实现 function rrmdir dir if is dir
  • 从 Python 中编译的正则表达式中提取命名组正则表达式模式

    我有一个 Python 正则表达式 其中包含多个命名组 但是 如果先前的组已匹配 则可能会错过与一组匹配的模式 因为似乎不允许重叠 举个例子 import re myText sgasgAAAaoasgosaegnsBBBausgisego
  • CodeIgniter:使用多维 POST 数据验证表单

    所以框架是CodeIgniter 2 0 2 我有一个表单 其中包含与数据库中的行相对应的字段组 字段名称的格式为 opt 0 foo opt 0 bar opt 1 foo opt 1 bar etc 索引 1 2等 并不对应于数据库中的
  • 使用后代选择器的响应式网站

    我试图使用媒体查询使我的网站响应 但是当我在代码的某些部分使用后代选择器时 页面没有响应 当我使用此代码时 该页面是响应式的 div1 float left width 20 height 200px background color re
  • Safari 的 Javascript 与 document.write 的问题

    我的问题只发生在 Safari 上 IE FF Chrome 和 Opera 都可以完美运行 我正在向 DOM 添加一个对象 与 YouTube 的方式完全相同 具体取决于 ActiveX 或 NPAPI 因此在确定写入对象类型后 我通过以
  • addEventListener keydown 不起作用

    我在互联网上找到了一些基本的 Pong 代码 并尝试添加按键 代码在这里 http cssdeck com labs ping pong game tutorial with html5 canvas and sounds http css

随机推荐

  • 未找到代理 JAR 或没有代理类属性

    已修复 这不是代码导致的错误 这是因为 IDE 我只是尝试为一款名为 Minecraft 的游戏进行注入 但我有一个问题 无法加载代理 这是例外情况 Exception in thread main com sun tools attach
  • 检测父进程何时退出

    我将有一个用于处理网络服务器重新启动的父进程 它将向子级发出信号以停止侦听新请求 子级将向父级发出信号以表明其已停止侦听 然后父级将向新子级发出信号以表明其可以开始侦听 通过这种方式 我们可以实现该级别重新启动的停机时间少于 100 毫秒
  • 文件夹中的新文件事件

    有人可以帮助我了解如何构建一个 24 7 运行的软件来侦听特定文件夹 例如 C Actions 并且每次我在该文件夹中放置一个新文件时 该软件都需要读取和处理它 如果文件夹中没有文件 软件不应只等待下一个文件的到来而什么也不做 文件 act
  • ASP.NET 动态控件计数(随时创建控件)

    我正在尝试创建一个复合 ASP NET 控件 让您可以构建可编辑的控件集合 我的问题是 当我按下添加或回发按钮 除了回发表单之外什么也不做 时 在文本框中输入的任何值都会丢失 当控件数量在回发之间发生变化时 我无法让它工作 我基本上需要能够
  • 理论计算机科学主题是否具有“现实世界”的开发应用?

    我所说的 理论计算机科学主题 指的是常规语言与非常规语言 泵引理和语法等内容 我熟悉有限自动机和正则表达式的现实世界应用 但诸如此类的其他主题给我带来了更多问题 因为我没有看到任何现实世界的应用 如果您想知道尝试使用正则表达式做某事是否徒劳
  • Ruby on Rails - 在包含 I18n 的 link_to 调用中嵌入额外的 HTML

    我正在尝试在 link to 调用中嵌入额外的 HTML 如本线程中所示在 link to 调用中嵌入额外的 HTML https stackoverflow com questions 9403256 embed additional h
  • “依赖系统的时区设置并不安全”

    我有一个一周前完成的脚本 没有任何问题或错误 今天 我再次测试 收到以下消息 严格标准 date function date 依赖并不安全 系统的时区设置 请使用 date timezone 设置 TZ 环境变量或 date default
  • Android 如何获取所有浏览器应用中的浏览历史记录?

    我想获取android手机中不同浏览器的所有浏览历史记录 也许您知道 一部手机中通常有多个浏览器应用程序 假设您的所有浏览器都使用此 API 来保存历史记录 这应该对您有用 http developer android com refere
  • Node.js sqlite3 IN 运算符

    所以我目前正在尝试在 Node js 中进行查询 friends is an array object db all SELECT email FROM users WHERE email in friends function err r
  • 颤振:缺少 google_app_id。 Firebase 分析已禁用

    我想从一个设备向另一个设备发送通知 但是当我发送它时 我进入了接收器设备 D FLTFireMsgReceiver 8876 broadcast received for message E FA 8876 Missing google a
  • 如何组合多个grep命令?

    我有一个很长的 txt 文件 LONG txt 在该 txt 文件中 我想搜索 3 种类型的模式 然后我想将 grep 结果捕获到一个新的 txt 文件中 SHORT txt 图案 AAAAA BBBBB CCCCC NOTE 当图案AAA
  • Vim 代码补全

    是否可以让 Vim 为您完成代码 就像在任何其他 IDE 中一样 不仅仅是单词搜索 还包括类成员 方法等 可用的最佳选项 插件有哪些 铿锵完成 http www vim org scripts script php script id 33
  • 如果消费者持有消息的时间超过自动提交间隔时间,kafka会丢失消息吗?

    假设自动提交间隔时间为 30 秒 消费者由于某种原因无法处理消息并保留消息超过 30 秒然后崩溃 自动提交偏移量机制是否会在消费者崩溃之前提交此偏移量 如果我的假设是正确的 消息会因其偏移量提交而丢失 但消息本身尚未被处理 让我们假设您的消
  • 使用 C++ 查找向量的中值

    我是一名编程学生 对于我正在从事的一个项目 我必须做的事情之一是计算 int 值向量的中值 并且必须通过将其传递给函数来完成 此外 向量最初是使用 C 随机生成器 mt19937 随机生成的 我已经在代码中写下了该生成器 我将使用排序函数和
  • 使用 json.net 对对象属性进行条件序列化/反序列化[重复]

    这个问题在这里已经有答案了 我有一个场景 其类定义如下 class MyObject public DataDictionary MyObjectData get set public bool ShouldSerializeMyObjec
  • 未定义的方法`authenticate_user! Devise / Rails 4 中的 Api::PostsController

    我的项目中有以下路线 root home index namespace api defaults format json do devise for users controllers sessions api sessions reso
  • MySQL 限制 TIMESTAMP 范围的解决方法?

    有谁知道在 MySQL TIMESTAMP 字段中存储 1970 01 01 00 00 01 UTC 到 2038 01 09 03 14 07 UTC 范围之外的值的解决方法 如果将列更改为使用 DATETIME 类型 则可以存储更广泛
  • sqlalchemy.exc.OperationalError:(sqlite3.OperationalError)没有这样的表

    我定义了表名users table并运行db create all 创建表 但在提交更新用户信息时出现错误 no such table user table 我如何测试 under project python3 manage py she
  • Android HTTP 获取

    我查看了一些论坛帖子 但找不到我的问题的答案 我正在尝试从 php 文件获取响应 php 文件正在运行 问题是 Android 应用程序不会执行我的请求 以下是我的代码的两个示例以及我在文本视图中得到的结果 public void chan
  • 如果
    之前或之后没有文本,如何删除它? DOMxpath 还是正则表达式?

    我怎样才能删除 br 如果之前或之后没有文字 例如 p br hello p p hello br p 它们应该像这样重写 p hello p p hello p 我应该使用 DOMxpath 还是正则表达式会更好 注 我有一个post h