首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从文本JavaScript中剥离HTML

从文本JavaScript中剥离HTML
EN

Stack Overflow用户
提问于 2009-05-05 06:39:55
回答 34查看 763K关注 0票数 753

有没有一种简单的方法可以在JavaScript中提取一串html并去掉它?

EN

回答 34

Stack Overflow用户

发布于 2009-05-04 22:42:52

代码语言:javascript
复制
myString.replace(/<[^>]*>?/gm, '');
票数 702
EN

Stack Overflow用户

发布于 2011-12-26 09:26:00

最简单的方法:

代码语言:javascript
复制
jQuery(html).text();

它从html字符串中检索所有文本。

票数 264
EN

Stack Overflow用户

发布于 2009-08-06 08:30:22

将HTML转换为纯文本电子邮件,保持超链接( href)不变

上面的函数由hypoxide发布的工作很好,但我追求的是,基本上可以转换在网页RichText编辑器(例如FCKEditor)中创建的超文本标记语言,并清除所有的超文本标记语言,但留下所有的链接,因为我想要的超文本标记语言和纯文本版本,以帮助创建一个正确的部分到一个STMP电子邮件(超文本和纯文本)。

在谷歌上搜索了很长一段时间后,我和我的同事们想出了一个在Javascript中使用regex引擎的方法:

代码语言:javascript
复制
str='this string has <i>html</i> code i want to <b>remove</b><br>Link Number 1 -><a href="http://www.bbc.co.uk">BBC</a> Link Number 1<br><p>Now back to normal text and stuff</p>
';
str=str.replace(/<br>/gi, "\n");
str=str.replace(/<p.*>/gi, "\n");
str=str.replace(/<a.*href="(.*?)".*>(.*?)<\/a>/gi, " $2 (Link->$1) ");
str=str.replace(/<(?:.|\s)*?>/g, "");

str变量的开头如下:

代码语言:javascript
复制
this string has <i>html</i> code i want to <b>remove</b><br>Link Number 1 -><a href="http://www.bbc.co.uk">BBC</a> Link Number 1<br><p>Now back to normal text and stuff</p>

然后在代码运行之后,它看起来是这样的:

代码语言:javascript
复制
this string has html code i want to remove
Link Number 1 -> BBC (Link->http://www.bbc.co.uk)  Link Number 1


Now back to normal text and stuff

正如你所看到的,所有的HTML都被移除了,链接被保留了,超链接的文本仍然完好无损。此外,我还将<p><br>标记替换为\n (换行符),以便保留某种可视格式。

要更改链接格式(例如,BBC (Link->http://www.bbc.co.uk) )只需编辑$2 (Link->$1),其中$1是href URL/URI,$2是超链接文本。由于链接直接位于纯文本正文中,因此大多数SMTP邮件客户端都会转换这些链接,以便用户能够单击它们。

希望这篇文章对你有用。

票数 46
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/822452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档