Вот еще один вариант, аналогично решению npocmaka в. Вместо использования XML DOM, который требует строгого действия вашего HTML, он использует COM-объект htmlfile
. Этот метод не требует, чтобы все ваши теги были закрыты, как это делают парсеры XML. Недостаток заключается в том, что COM-объект делает странные вещи для вашего кода - заглавные буквы всех имен тегов, удаление котировок из параметров, удаление XHTML-ish <element />
самозакрывающиеся косые черты и т. Д. Но измененная страница все равно должна сделать то же самое.
Этот сценарий перезапишет файл, который вы хотите изменить.
@if (@CodeSection == @Batch) @then
@echo off
setlocal
set "htmlfile=test.html"
cscript /nologo /e:Jscript "%~f0" "%htmlfile%"
goto :EOF
@end // end batch/begin JScript chimera
var DOM = WSH.CreateObject('htmlfile'),
fso = WSH.CreateObject('Scripting.FileSystemObject'),
file = fso.OpenTextFile(WSH.Arguments(0), 1),
html = file.ReadAll(),
doctype = (html.replace(/\r?\n/g,'').match(/<!doctype.*?>/i) || [''])[0];
file.Close();
DOM.write(html);
var del = DOM.getElementsByTagName('font');
for (var i=del.length; --i>-1;)
del[i].parentNode.removeChild(del[i]);
file = fso.CreateTextFile(WSH.Arguments(0), true);
file.Write((doctype ? doctype + '\n' : '') + DOM.documentElement.outerHTML);
file.Close();
DOM.close();
и что такое HTML тег? Может быть сделано легко с помощью окон, встроенных XML-парсеров, но требуется xpath – npocmaka
Тег: и – Klajbar
Вы имеете в виду все теги шрифтов? – npocmaka