如何删除所有
并在 JQuery 中将它们转换为换行符 (\n)?

发布于 2024-10-10 01:47:57 字数 1432 浏览 1 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

狂之美人 2024-10-17 01:47:57

尝试这样的操作:

$('br').text('\n').contents().unwrap();

首先,它向 \n 的所有 br 元素添加一个文本节点子节点。然后它会打开它们,只留下下面的文本。您可以在此处查看它的实际效果:

http://jsfiddle.net/UgZNm/

Try something like this:

$('br').text('\n').contents().unwrap();

First it adds a text node child to all br elements of \n. Then it unwraps them leaving only the text below it. You can see it in action here:

http://jsfiddle.net/UgZNm/

祁梦 2024-10-17 01:47:57

我找到了这个正则表达式,它应该可以解决各种格式问题:

function br2nl(input) {
    return input.replace(/<[bB][rR](\s+)?\/?>/g, "\n");
}

I found this regex, which should take care of all kinds of formatting problems:

function br2nl(input) {
    return input.replace(/<[bB][rR](\s+)?\/?>/g, "\n");
}
萤火眠眠 2024-10-17 01:47:57

在没有实际 HTML 解析器的情况下解析 HTML 可能是一个坏主意,但正则表达式通常就足够了。

text.replace(/<br[^>]*>/gi, "\n");

这将替换



等。

但是,它不会取代
,以防您可能有

。如果是这样,您可以尝试以下操作:

text.replace(/<\/?br[^>]*>/gi, "\n");

如果您不介意

变成 \n\n。

Parsing HTML without an actual HTML parser might be a bad idea, but regular expressions can often be Good Enough.

text.replace(/<br[^>]*>/gi, "\n");

This will replace <br>, <br/>, <br />, <br some_attribute="value" />, etc etc.

However, it will not replace </br>, in case you might have <br></br>. If so, you could try this:

text.replace(/<\/?br[^>]*>/gi, "\n");

if you don't mind <br></br> getting turned into \n\n.

只有一腔孤勇 2024-10-17 01:47:57

我认为 replaceWith 是最好的解决方案,而且清晰简单:

$(selector + ' br').replaceWith('\n');

这是一个显示此操作的小提琴: http://jsfiddle.net/hHJvM/

I think replaceWith is the best solution, as well as being clear and easy:

$(selector + ' br').replaceWith('\n');

Here's a fiddle that shows this in action: http://jsfiddle.net/hHJvM/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文