如何从 JavaScript 中的字符串中去除 HTML 标签? [复制]

2024-03-23

如何在 JavaScript 中从字符串中去除 HTML?


cleanText = strInputCode.replace(/<\/?[^>]+(>|$)/g, "");

蒸馏自这个网站(web.archive) https://web.archive.org/web/http://javascript.internet.com/snippets/remove-html-tags.html.

这个正则表达式寻找<,一个可选的斜杠/, 一个或多个非>,那么要么> or $(行尾)

例子:

'<div>Hello</div>' ==> 'Hello'
 ^^^^^     ^^^^^^
'Unterminated Tag <b' ==> 'Unterminated Tag '
                  ^^

但它并不是防弹的:

'If you are < 13 you cannot register' ==> 'If you are '
            ^^^^^^^^^^^^^^^^^^^^^^^^
'<div data="score > 42">Hello</div>' ==> ' 42">Hello'
 ^^^^^^^^^^^^^^^^^^          ^^^^^^

如果有人试图破坏你的应用程序,这个正则表达式不会保护你。仅当您已经知道输入的格式时才应使用它。和其他的一样知识渊博且头脑清醒 https://stackoverflow.com/a/1732454人们指出,要安全地剥离标签,您must使用解析器。

如果您无法访问像 DOM 这样方便的解析器,并且您不能相信您的输入格式正确,那么您最好使用像清理 html https://www.npmjs.com/package/sanitize-html,并且还有其他消毒剂可供选择 https://www.npmjs.com/search?q=sanitize%20html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 JavaScript 中的字符串中去除 HTML 标签? [复制] 的相关文章

随机推荐

  • Kohana——命令行

    我正在尝试在我的 Web 应用程序中 假分叉 一个进程 通过 SMTP 发送电子邮件 并且该应用程序是基于 Kohana 构建的 command test email exec php index php command gt dev nu
  • django-orm 不区分大小写的顺序

    我知道 我可以从 DJango ORM 运行不区分大小写的搜索 喜欢 User objects filter first name contains jake User objects filter first name contains
  • Android Compose 设置视图高度(以像素为单位而不是 dp)

    我想以像素而不是 dp 为单位设置视图高度 Box modifier Modifier height 100 dp 在此示例中 框的高度设置为 100 dp 并且修改器函数仅接受 dp 如何设置 Box 的高度 以像素为单位 Kilian
  • 在 Swift 中链接多个异步函数

    我正在尝试编写一系列函数 在要求用户确认某些内容之前验证用户的信息 想象一个购物应用程序 我首先必须检查用户是否添加了卡 然后我必须检查他们是否有足够的余额 然后我可以要求他们确认付款 我可以编写异步方法来检查卡 例如 func check
  • 使用 Javascript 生成高质量 PDF (jspdf+html2canvas)

    我一直在尝试通过单击页面上的按钮从 HTML 页面转换并生成 PDF 该按钮会使用两个流行的插件自动生成并强制下载页面的 PDF JSPDF HTML2Canvas 到目前为止 一切正常 但生成的 PDF 总是模糊且质量不高 导入 js 文
  • 这些 switch 语句有哪些替代方案?

    刚刚制作了这个极其简单的 GPA 计算器 想知道如何使用循环来避免大量的 switch 语句 我对 Java 很陌生 只是寻求一些建议 非常感谢任何其他改进程序的方法 预先感谢各位 package helloPackage import j
  • 出于好奇,学习Android开发

    最近我一直在考虑开发一些基本的android应用程序 这只是出于个人兴趣 请指导我从哪里开始 我需要什么工具以及指向某些 pdf 等的任何指示 我的背景 1 C语言嵌入式软件开发人员 2 有一些从事 Flex 工作的机会 因此熟悉eclip
  • RXJS 处理两个不同的事件,其中第一个事件必须取消第二个事件

    rxjs 对我来说非常具有挑战性 我发现自己一直在尝试解决这个问题 我在堆栈上找到的最接近的解决方案是使用合并运算符 这里是link https stackoverflow com questions 45495188 rxjs frome
  • 在后台运行时查看随机 ngrok URL

    当我启动 ngrok 客户端时 ngrok tcp 22它在前台运行 我可以看到随机生成的转发URL 例如tcp 0 tcp ngrok io 12345 gt localhost 22 如果我在后台运行 ngrok tcp 我找不到任何方
  • 如何从 PHP 调用 dup2() 系统调用?

    有一个eio dup2 http php net manual en function eio dup2 php函数来自Eio PECL 扩展 http php net manual en intro eio php但我对所有异步和事件循环
  • WinForms 表单冻结

    在表单 F1 上我有一个按钮 如果我创建另一个表单 我们称之为F2 并显示它没有问题 但我想做这样的事情 我的应用程序中的某些线程正在运行连接并侦听来自服务器的消息 当消息到达时 我的主窗体被注册以获取运行函数的事件 从该函数中 我尝试创建
  • 如何列出命名空间的功能?

    我想知道如何列出 Clojure 命名空间的所有函数 我已经做了一些研究 但还没有做到这一点 我已经了解了如何使用 show 方法列出 Java 类的方法 show java awt Graphics 为了列出 Clojure 命名空间的功
  • Python:concurrent.futures 如何使其可取消?

    Python concurrent futures 和 ProcessPoolExecutor 提供了一个简洁的接口来调度和监视任务 期货甚至provide https docs python org 3 library concurren
  • Angular 4 验证器可同时检查 2 个控件

    我有一个带有 2 个控件 port start 和 port end 的反应式表单 它们具有以下要求 两者都必须有一个值 它们的值必须介于 0 到 65535 之间 port start 值必须小于 port end 值 这是我到目前为止所
  • 在 SimpleXML 中美化/格式化输出

    我有一个 simplexml 脚本 用于发布从表单输入的数据 xml simplexml load file links xml sxe new SimpleXMLElement xml gt asXML person sxe gt add
  • 无法使用SED快速编辑文件

    该文件最初是 cat so app yaml application SO 我运行以下命令 我得到一个空文件 sed s SO so so app yaml gt so app yaml cat so app yaml 如何使用 SED 编
  • Silverlight Windows Phone 7:从 URL 加载图像

    我得到下面的代码 它试图将网络上的图像加载到图像控件中 当我运行它时 我在给定的行上收到错误 不允许网络访问 private void button1 Click object sender RoutedEventArgs e WebCli
  • 使用CRTP时如何避免错误?

    Using CRTP http en wikipedia org wiki Curiously recurring template pattern有时我会写这样的代码 this was written first struct Foo B
  • 水平步骤中的等待栏,matlab

    我正在尝试修改这段代码 h waitbar 0 Please wait for i 1 10 computation here waitbar i 10 end close h 我如何将 waitbar 分为 10 个步骤 我的意思是它应该
  • 如何从 JavaScript 中的字符串中去除 HTML 标签? [复制]

    这个问题在这里已经有答案了 如何在 JavaScript 中从字符串中去除 HTML cleanText strInputCode replace lt gt gt g 蒸馏自这个网站 web archive https web archi