【问题标题】:Remove html tags around text which includes a new line删除包含新行的文本周围的 html 标记
【发布时间】:2015-02-09 17:08:04
【问题描述】:

我在 .html 文件中有如下标签:

<td>
<P CLASS="abc">
hello</P>
</td>

我想删除文本周围的&lt;P&gt; 标记,并删除第一个&lt;P&gt; 标记后的换行符,这样我只能得到以下文本。

<td>
hello
</td>

这些文件位于 Linux 服务器上,所以如果有人对此有任何 Linux 方法,我很感兴趣。我也可以使用允许查找/替换的正则表达式的 Notepad++ 访问这些文件。

【问题讨论】:

  • 如果文本周围有&lt;span&gt;,是否也必须删除它(就像任何其他标签一样)?如果是这样,那么&lt;td&gt; 也必须被删除
  • 您需要在文件加载时进行此操作,还是仅在服务器上手动操作?如果文档加载我只会使用 jquery,如果手动,我会使用 sublime text 的多选功能。
  • 我需要保留 标签,我不确定您对 标签的含义。我需要在服务器上手动进行此更改。

标签: html regex replace


【解决方案1】:

试试这个:通过正则表达式&lt;p[^&gt;]*&gt;[\n\t\r]*|&lt;\/p[^&gt;]*&gt;

在记事本++ 中替换 &lt;p[^&gt;]*&gt;[\n\t\r]*|&lt;\/p[^&gt;]*&gt; 并替换为 (空白)

Live demo

下一个要求的更新:

(&lt;td&gt;[\s\S]*?)&lt;P[^&gt;]*&gt;[\n\t\r]*([^&gt;]+)&lt;\/P&gt; 替换为$1$2

Live demo

【讨论】:

  • 嗨,这确实删除了有问题的标签,不幸的是,我在 标签之外还有其他

    标签,我想保留这些标签,但它也删除它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
  • 2016-01-28
  • 2022-10-14
  • 2020-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多