هناك العديد من أنظمة الأخبار حول إنشاء 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)
تعيين f=fso.OpenTextFile(server.mappath(20041227111723.htm))
content=f.ReadAll
f. إغلاق
تعيين و = لا شيء
تعيين fso=لا شيء
تعيين إعادة = regexp الجديد
إعادة تجاهل = صحيح
re.global = صحيح
re.pattern = /</%/@[^/%]+/%/>
المحتوى = إعادة الاستبدال (المحتوى،)
re.global = false
re.pattern = /</!/-/-/s*/#include/s*file/s*=/s*/([^/]+)//s*/-/-/>
يفعل
تعيين مللي = إعادة التنفيذ (المحتوى)
إذا ms.count<>0 ثم
تعيين م = مللي ثانية (0)
tmp_str = get_exe_code(m.submatches(0))
المحتوى = إعادة الاستبدال (المحتوى، tmp_str)
آخر
الخروج القيام به
نهاية إذا
حلقة
تعيين م = لا شيء
تعيين مللي = لا شيء
إعادة النمط=^/s*=
aspEnd=1
aspStart=inStr(aspEnd,content,<%)+2
set re1=new RegExp
re1.ignorecase = صحيح
re1.global = خطأ
re1.pattern = الاستجابة/.الكتابة (.+)
افعل ذلك أثناء aspStart>aspEnd+1
execode = execode&vbcrlf& Hughchiu_rtcode = Hughchiu_rtcode&&replace( استبدال(Mid(content,aspEnd,aspStart-aspEnd-2),,), vbcrlf, &vbcrlf&)&&vbcrlf
aspEnd=inStr(aspStart,content,%/>)+2
tmp_str = منتصف (المحتوى، 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& Hughchiu_rtcode = Hughchiu_rtcode&&replace( استبدال(Mid(content,aspEnd), , ), vbcrlf, &vbcrlf& )&&vbcrlf
get_exe_code = <%&execode&%/>
وظيفة النهاية
الدالة asp2html(20041227111723.htm)
رمز خافت
كود = استبدال (استبدال (استبدال (get_exe_code(20041227111723.htm)، Hughchiu_rtcode = Hughchiu_rtcode&&vbcrlf، )، <%، )، %/>، )
''الاستجابة.اكتب (الكود)
تنفيذ (رمز)
'' الاستجابة. الكتابة (hughchiu_rtcode)
asp2html = Hughchiu_rtcode
وظيفة النهاية
%>
مثال الاستخدام:
وفيما يلي المحتوى المقتبس:
تعيين fso=CreateObject(Scripting.FileSystemObject)
تعيين f=fso.CreateTextFile( server.mappath( youpage.htm ), صحيح )
f.WriteLine( asp2html(youpage.asp))
f. إغلاق
مجموعة و = لا شيء
تعيين fso = لا شيء