【问题标题】:Manipulating string with html tags using regex使用正则表达式处理带有 html 标签的字符串
【发布时间】:2014-07-30 16:49:30
【问题描述】:

我有字符串test1 test2 tes<span style="color:red;">t3</span> span test4,我想在span 单词周围放置span 标签,该位置在</span> 之后,而不使用javascript 正则表达式触及现有的span 标签。

【问题讨论】:

  • 这听起来像是在操作 HTML,这不应该用正则表达式来完成,而是用可以真正解析 HTML 的东西来完成。
  • str.replace('span', '<span>span</span>')?
  • @pattmorter - 这将只替换第一个跨度,给出test1 test2 tes<<span>span</span> style ...
  • @adeno 你是对的......我知道我在想什么哈哈。
  • str.replace('span', 'span') ?跨词周围有空格。

标签: javascript html regex replace


【解决方案1】:

正则表达式:

(<\/span> )(span)

替换字符串:

$1<span>$2</span>

DEMO

> 'test1 test2 tes<span style="color:red;">t3</span> span test4'.replace(/(<\/span> )(span)/g, "$1<span>$2</span>")
'test1 test2 tes<span style="color:red;">t3</span> <span>span</span> test4'

【讨论】:

  • 对于当前示例,您的答案是正确的,但让我们多思考一下。我想做同样的想法,但任何单词或单词的一部分与 span 标签中的文本很接近。例如pa 来自span
  • 这很接近但我想要的结果是这样的:'test1 test2 tes&lt;span style="color:red;"&gt;t3&lt;/span&gt; s&lt;span&gt;pa&lt;/span&gt;n test4' 有可能吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多