我的javascript正则表达式有问题 我尝试在字符串文本中获取所有单词但我需要排除html标签..
我的正则表达式
/ \ B([\ S] +)\ b / g的
但例如<br>
不排除..
此处的示例https://regex101.com/r/oT9uC1/4
全部
答案 0 :(得分:0)
最简单的方法是首先剥离标签,
然后在 newtext 上运行你的正则表达式。
newtext = text.Replace( /<(?:script(?:\s+(?:"[\S\s]*?"|'[\S\s]*?'|[^>]*?)+)?\s*>[\S\s]*?<\/script\s*|(?:\/?[\w:]+\s*\/?)|(?:[\w:]+\s+(?:(?:(?:"[\S\s]*?")|(?:'[\S\s]*?'))|(?:[^>]*?))+\s*\/?)|\?[\S\s]*?\?|(?:!(?:(?:DOCTYPE[\S\s]*?)|(?:\[CDATA\[[\S\s]*?\]\])|(?:--[\S\s]*?--)|(?:ATTLIST[\S\s]*?)|(?:ENTITY[\S\s]*?)|(?:ELEMENT[\S\s]*?))))>/g, '');
答案 1 :(得分:0)
我会尝试在html标签上进行正则表达式替换,而不是尝试查找所有文本。
所以请使用以下内容:
var str = "Non ! Non ! Je ne veux pas d'un éléphant!<br> dans un boa. Un boa c'est très dangereux, et un éléphant c'est très encombrant. Chez moi c'est tout petit. J'ai besoin d'un mouton. Dessine-moi un mouton.";
var res = str.replace(/<.+>/g, "");
您显然可以专门检查br标签并替换为换行符。
然后应该删除所有html标签,只留下原始文本。
另外,最好记住,如果你删除了某些内容,你需要确保留下的内容不会留下可运行的代码。