我如何使用拆分但跳过html / javascript / php和其他内部标签?

我的代码在博客文章的X个单词之后插入HTML内容。 代码工作,但有一个问题:它剥离它在路上发现的一切,甚至javascript,HTML,等等。

if (index == 2)计算代码的前两个单词,然后在这些单词之后插入HTML(在本例中为图像),但它不区分html或纯文本。 我在这里找到一个话题,说我应该使用这样的东西:

 result = subject.match(/<\s*(\w+\b)(?:(?!<\s*\/\s*\1\b)[\s\S])*|\S+/g); 

但我不知道如何实现它。

基本上,我需要代码来计算每个单词,但跳过任何标签,如

如果你使用.text()而不是.html(),它将不会显示任何标签..例如:

  
this is a test

然后

 var mytext = $("#test").text(); 

mytext等于“这是一个考验”;

 word = word.replace(/<\/?[\w#"'-=:; {},.\r\n]+\/?>/g, '\n'); word = word.replace(/ /gi, ''); 

可能你只需要第一行。 $ each之后加上这个。 行和newHtml + =行之前。

—————–编辑

可能我第一次误解了它。 尝试在split()之前先删除标签

 jQuery(function($) { //var wordList = $(".newsitem_text").html().split(' '); var wordList = $(".newsitem_text").html(); wordList = wordList.replace(/<\/?[\w#"'-=:; {},.\r\n]+\/?>/g, '\n'); wordList = wordList.split(' ') var newHtml = ' '; $.each(wordList, function(index, word){ newHtml += ' ' + word; if (index == 2) { newHtml += '' } }) ; $(".newsitem_text").html(newHtml); });