我完全陷入困境...我在javascript中的水平不足以让我摆脱这个问题我尝试使用正则表达式javascript来捕捉文本中的文字除了法语文本上的html标签这里是我现在的正则表达式
([^\ r \ n \ t \ f> </](?!>))\ b
问题是我的口音被排除在外并且 grab 了我不应该使用的正则表达式标签(例如br html标签)
这是测试的直接链接https://regex101.com/r/oT9uC1/10
我的目标是用span html标签替换所有单词,谢谢你们提前帮助
2 回答
不要使用正则表达式来解析HTML;它总会在某些时候失败 .
而是使用DOM API,它比其他人更了解HTML:
要将每个单词包装在span标记中,您可以像这样继续:
这是我如何将元素中的每个单词转换为 Span ,我会避免使用正则表达式,因为默认情况下会提供DOM工具 .
编辑:您可能可以使用第一个与一些finangling,但是,下面应该工作并保持您的格式 . 请注意,无论何时设置innerHTML,都要注意它可能会让您打开Cross Site Scripting Attacks .