gpt4 book ai didi

c# - 清理由 c# 中的 contentEditable 创建的 HTML

转载 作者:太空宇宙 更新时间:2023-11-04 12:59:35 46 4
gpt4 key购买 nike

我编写了一个文档编辑器,它使用 contentEditable 来创建 HTML 内容。在一些较大的文档中,语法风格似乎无处不在。这很可能是从写字板和早期版本的编辑器粘贴内容的结果。

问题是,现在我留下了很多非常不一致的文档。

一开始很正常。简单 <p>每行的标签

<p>It is a truth</p>
<p>universally acknowledged</p>
<p>that a single&nbsp;man</p>

到目前为止,唯一“糟糕”的 html 是一些空的 <i></i>标签,以及偶尔的 &nbsp;而不是空格(有人知道为什么吗?)

然后它在文件的一半左右,换行符切换到这种格式。

<div>
<br>
CHAPTER 1<br>
<br>
The sky above the port
<br>
was the color of a television
<br>
tuned to a dead channel.
</div>
<div>
<br>
</div>

然后在页面下方大约 3/4 处,我们得到了这个。它似乎已经恢复到 <p></p>标签,但现在将它们随机嵌入 <span>带有空 lang 的标签属性

<div>
<span lang="">
<p>It was the best of times,</p>
<p>it was the worst of times,</p>
</span>
<p>it was the age of wisdom,</p>
<p>it was the age of foolishness,</p>
</div>

注意:有些行在 <span> 内, 其他人在外面。

更糟糕的是,稍后我们会嵌套 <span>标签

<span lang="">
<div>
<span lang="EN-GB">
<p>Stately, plump </p>
<p>Buck Mulligan came </p>
<span lang="EN-GB">
<p>from the stairhead, </p>
<p>bearing a bowl of lather </p>
<span lang="EN-GB">
<p> on which a mirror and a razor lay crossed</p>
</span>
</span>
</span>
</div>
</span>

您可能还会注意到 <span> 的出身和 <div>标签现在在一开始就颠倒了,带有 <div>现在是 <span> 的 child

我注意到了其他奇怪的地方。 <i></i>在开始时使用,但后来使用 <em></em>用来。

  1. 清理此 HTML 的最佳方法是什么?
  2. 我应该尝试用 <p> 包围孤立的行吗?标签?
  3. 如何只删除那些 <div>包含 <p> 的标签标签自己?以及如何避免在文档中留下孤立的文本?

最佳答案

是一个难题,我在从文本编辑 HTML 时遇到了同样的问题。

我发现了这个免费的纯 HTML + JS 编辑器:TinyMCE

http://www.tinymce.com/

其中包括清理文本选项,您可以从文本中选择要清理的标签。

如果您有机会更改正在使用的编辑器,它会非常强大。

关于c# - 清理由 c# 中的 contentEditable 创建的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25547154/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com