что то попробовал наваять по сабжу. и согласно описанию ниже элегантной регулярки я лично не смог. так как не могу сейчас сказать, что будет происходить у тебя в френт-энде, как ошибки могут быть, как строго скрипты формируют верстку и так далее и тому подобное.
можно конечно попробовать получше регулярку сделать... но влом...
поэтому вот попробуй такой образец переделать под свои нужды:
Спойлер (Отобразить)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'; сделал посложнее так как могут быть ошибки и учел их в скрипте(Отредактировано автором: 12 Сентября, 2016 - 12:36:35)
|