-1

我的 html 看起来(有时看起来)像这样:

<p>Some text <b>some <i>more text</i></b></p>a little bit more text

我需要将这些标签中的每个单词都包含在 span 中。所以被包装的词会是 Some, text, some, more, text, a, little, bit, more, text。我尝试使用此代码:

html_variable.replace(/(?<=>)[^<>]+(?=<)/g,filter)

其中 filter 是一个自定义函数,使用它我可以轻松地包装每个单词。然而,结果证明 (?<=>),一个积极的后向,在 ios 中尚不支持。我的正则表达式真的很糟糕,所以我请求你的帮助。上面的代码有没有得到很好支持的替代方案?

4

1 回答 1

1

试试这个。

\w+(?![^<>]*>)

在此处查看演示

可能对您有用,具体取决于您的输入。有很多情况会导致无法替换您不想替换的内容(例如scripttitle标签的内容)

无论如何,对于一次性工作和有限的投入,它可能对你有用

于 2019-04-01T18:37:26.897 回答