gpt4 book ai didi

Javascript RegEx - 分割 Html 字符串

转载 作者:行者123 更新时间:2023-12-03 10:00:41 24 4
gpt4 key购买 nike

我正在编写一个脚本,需要分割包含 html 标签和文本的字符串。我正在尝试隔离文本并消除标签

例如,我想要这个:

string = '<p><span style="color:#ff3366;">A</span></p><p><span style="color:#ff3366;text-decoration:underline;">B</span></p><p><span style="color:#ff3366;text-decoration:underline;"><em>C</em></span></p>';

像这样分割:

separation = string.split(/some RegExp/);

并成为:

separation[0] = "<span style="color:#ff3366;">A</span>";
separation[1] = "<span style="color:#ff3366;text-decoration:underline;">B</span>";
separation[2] = "<span style="color:#ff3366;text-decoration:underline;"><em>C</em></span>";

之后我想像这样分割分隔字符串:

stringNew = '<span style="color:#ff3366;">A</span>';

extendedSeperation = stringNew.split(/some RegExp/);

extendedSeperation[0] = "A";
extendedSeperation[1] = "style="color:#ff3366;";

最佳答案

不要使用正则表达式,原因已在评论中解释。

相反,请执行以下操作:

创建一个不可见节点:

node = $("<div>").css("display", "none");

将其固定在主体上:

$("body").append(node);

现在将 HTML 注入(inject)节点:

node.html(myHTMLString);

现在您可以遍历 DOM 树并根据需要提取/渲染它,就像这样:

ptags = node.find("p") // will return all <p> tags

要获取标签的内容,请使用:

ptags[0].html()

最后,要清除节点,请执行以下操作:

node.html("");

这应该足以让你继续前进。

This way you leverage the internal parser of the browser, as suggested in the comments.

关于Javascript RegEx - 分割 Html 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30614087/

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