【问题标题】:Separate script tags from text in string将脚本标签与字符串中的文本分开
【发布时间】:2018-01-03 15:26:28
【问题描述】:

假设我们有以下字符串:

Praesent commodo cursus magna, vel scelerisque nisl consectetur et. 

<script src="http://foo.com/script.js"></script>

Etiam porta sem malesuada magna mollis euismod. Vestibulum id ligula porta felis euismod semper. 

<script>var x = 'a';</script>

Nulla vitae elit libero, a pharetra augue. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

我想把它拆分成一个数组,如下所示:

[
  "Praesent commodo cursus magna, vel scelerisque nisl consectetur et.\n\n",
  "<script src="http://foo.com/script.js"></script>",
  "\n\nEtiam porta sem malesuada magna mollis euismod. Vestibulum id ligula porta felis euismod semper.\n\n",
  "<script>var x = 'a';</script>",
  "\n\nNulla vitae elit libero, a pharetra augue. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.",
]

例如,将脚本标签与普通标签分开,并将它们全部放在一个数组中,我该怎么做?

【问题讨论】:

  • 拥有约 2K 的代表,你肯定知道你现在应该表现出努力......
  • 根据您的输入,您可以简单地将其拆分为 \n{2} 或拆分为 \n 并使用 filter(String) 删除空白。
  • 对不起,我卡住了
  • @Lukas 如果您的正则表达式中有一个变量包含值中的&lt;/script&gt;,该怎么办?

标签: javascript regex


【解决方案1】:

好的:

const embedCode = "...text from above"
const r = /(<script.*?<\/script>)/
console.log(embed.split(r));

【讨论】:

    猜你喜欢
    • 2022-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 2023-04-01
    • 2011-10-05
    • 2015-05-14
    • 1970-01-01
    相关资源
    最近更新 更多