Существует множество новостных систем, которые генерируют HTML, но все они используют шаблоны. Эта функция сохраняет HTML-код, созданный страницей ASP, в HTML-файл. Таким образом, нет необходимости изменять исходную страницу, и вы можете легко заполнить ее. генерация новостей в формате html. ^_^Поскольку код относительно короткий, я не буду его здесь комментировать.
Скопируйте код кода следующим образом:
<%
«В этой программе возникла проблема, когда метод response.End() существует во включаемом файле целевой страницы, то есть на странице #include.
'Примечание. Этот файл должен быть помещен в тот же каталог, что и файл, на который указывает 20041227111723.htm.
тусклый Hughchiu_rtcode
Функция get_exe_code(20041227111723.htm)
тусклый исполняемый код
дим tmp_str
Dim re, re1,content,fso,f,aspStart,aspEnd
тусклый мс, м
выполнитькод=
установите fso=CreateObject(Scripting.FileSystemObject)
set f=fso.OpenTextFile(server.mappath(20041227111723.htm))
контент = f.ReadAll
е.закрыть
установить f=ничего
установить fso=ничего
set re = новое регулярное выражение
re.ignorecase = правда
re.global = правда
re.pattern = /</%/@[^/%]+/%/>
содержимое = re.replace(содержание,)
re.global = ложь
re.pattern = /</!/-/-/s*/#include/s*file/s*=/s*/([^/]+)//s*/-/-/>
делать
установить мс = re.execute(содержимое)
если ms.count<>0 тогда
установить м = мс (0)
tmp_str = get_exe_code(m.submatches(0))
контент = re.replace(content, tmp_str)
еще
выйти, сделать
конец, если
петля
установить м = ничего
установить мс = ничего
re.pattern=^/s*=
aspEnd=1
aspStart=inStr(aspEnd,content,<%)+2
установить re1=новое регулярное выражение
re1.ignorecase = правда
re1.global = ложь
re1.pattern = ответ/.Write(.+)
делать, пока aspStart>aspEnd+1
execode = execode&vbcrlf& humhchiu_rtcode = humhchiu_rtcode&&replace( replace(Mid(content,aspEnd,aspStart-aspEnd-2),,), vbcrlf, &vbcrlf&)&&vbcrlf
aspEnd=inStr(aspStart,content,%/>)+2
tmp_str = Mid (содержание, aspStart, aspEnd-aspStart-2)
делать
установите мс = re1.execute(tmp_str)
если ms.count<>0 тогда
установить м = мс (0)
tmp_str = re1.replace(tmp_str,hughchiu_rtcode = Hughchiu_rtcode&&m.submatches(0))
еще
выйти, сделать
конец, если
петля
установить м = ничего
установить мс = ничего
execode = execode& re.replace(tmp_str,hughchiu_rtcode =hughchiu_rtcode&)
aspStart=inStr(aspEnd,content,<%)+2
петля
установить re1 = ничего
установить повторно = ничего
execode = execode&vbcrlf& humhchiu_rtcode = humhchiu_rtcode&&replace( replace(Mid(content,aspEnd), , ), vbcrlf, &vbcrlf& )&&vbcrlf
get_exe_code = <%&execode&%/>
Конечная функция
функция asp2html(20041227111723.htm)
тусклый код
code = replace( replace( replace( get_exe_code(20041227111723.htm),hughchiu_rtcode = humhchiu_rtcode&&vbcrlf, ), <%, ), %/>, )
'ответ.Запись(код)
выполнить (код)
'response.Write(hughchiu_rtcode)
asp2html = Hughchiu_rtcode
конечная функция
%>
Пример использования:
Скопируйте код кода следующим образом:
установите fso=CreateObject(Scripting.FileSystemObject)
установите f=fso.CreateTextFile(server.mappath(youpage.htm), true)
f.WriteLine( asp2html(youpage.asp) )
е.закрыть
установить f = ничего
установить fso = ничего