что то попробовал наваять по сабжу. и согласно описанию ниже элегантной регулярки я лично не смог. так как не могу сейчас сказать, что будет происходить у тебя в френт-энде, как ошибки могут быть, как строго скрипты формируют верстку и так далее и тому подобное.
можно конечно попробовать получше регулярку сделать... но влом...
поэтому вот попробуй такой образец переделать под свои нужды:
Спойлер (Отобразить)CODE (
javascript):
скопировать код в буфер обмена
var tagArr = ['b', 'p', 'div'];
var t = '<div class=class><p><b>текст</b> </dfgdf g </p> dfg </dfgd f </div> dgdfg</dg';
t = t.match(/(<\/([a-z]+.*)>)+/ig);
console.log("[Поиск]: найдено в тексте");
console.log(t);
if(t === null){
console.log("[Ошибка]: отсутствует(-ют) закрывающий(-е) тег(-и)");
}
else{
console.log("[Search]: найдено, обрабатываем");
console.log(t[0].match(/(<\/([a-z]+))/ig));
t = t[0].match(/(<\/([a-z]+))/ig);
for(var i=0; i<tagArr.length; i++){
console.log("[Сортировка "+[i+1]+"]: "+ tagArr[i]);
for(var j=0; j<t.length; j++){
if(tagArr[i].indexOf(t[j].match(/[a-z]+/i)) >= 0){
console.log("[Поиск "+[i+1]+"."+[j+1]+"]"+t[j]+"...[Итог]: найден "+tagArr[i]);
}
else {
console.log("[Поиск "+[i+1]+"."+[j+1]+"]"+t[j]+"...[Итог]: не найден "+tagArr[i]);
}
}
}
}
var t = '<div class=class><p><b>текст</b> </dfgdf g </p> dfg </dfgd f </div> dgdfg</dg'; сделал посложнее так как могут быть ошибки и учел их в скрипте