function stripHTML(my_string){ var charArr = my_string.split(''), resultArr = [], htmlZone = 0, quoteZone = 0; for( x=0; x < charArr.length; x++ ){ switch( charArr[x] + htmlZone + quoteZone ){ case "<00" : htmlZone = 1;break; case ">10" : htmlZone = 0;resultArr.push(' ');break; case '"10' : quoteZone = 1;break; case "'10" : quoteZone = 2;break; case '"11' : case "'12" : quoteZone = 0;break; default : if(!htmlZone){ resultArr.push(charArr[x]); } } } return resultArr.join(''); }
Учет для> внутренних атрибутов и
во вновь созданных элементах дома.
использование:
clean_string = stripHTML("string with in it")
demo:
https://jsfiddle.net/gaby_de_wilde/pqayphzd/
demo верхнего ответа, делающего ужасные вещи: