هناك العديد من أنظمة الأخبار التي تنشئ لغة html، ولكنها جميعًا تستخدم القوالب. تقوم هذه الوظيفة بحفظ كود html الذي تم إنشاؤه بواسطة صفحة asp في ملف html، وبهذه الطريقة، ليست هناك حاجة لتغيير الصفحة الأصلية، ويمكنك إكمال ملف 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 = لا شيء