มีระบบข่าวสารมากมายที่สร้าง html แต่ทั้งหมดใช้เทมเพลต ฟังก์ชันนี้จะบันทึกโค้ด html ที่สร้างโดยเพจ asp ลงในไฟล์ html ด้วยวิธีนี้ ไม่จำเป็นต้องเปลี่ยนหน้าต้นฉบับและคุณสามารถกรอก a ได้อย่างง่ายดาย การสร้างข่าวสารของระบบ html ^_^
เนื่องจากโค้ดค่อนข้างสั้นผมขอไม่แสดงความคิดเห็นตรงนี้นะครับ
<%
'เกิดปัญหากับโปรแกรมนี้เมื่อ response.End() มีอยู่ในไฟล์รวมของหน้าเป้าหมาย ซึ่งก็คือหน้า #include
'หมายเหตุ: ไฟล์นี้จะต้องอยู่ในไดเร็กทอรีเดียวกันกับไฟล์ที่ชี้ไปตามชื่อไฟล์
สลัว Hughchiu_rtcode
ฟังก์ชัน get_exe_code(ชื่อไฟล์)
execode สลัว
สลัว tmp_str
หรี่ใหม่, re1, เนื้อหา, fso, f, aspStart, aspEnd
คุณสลัว ม
รันโค้ด = ""
ตั้งค่า fso=CreateObject("Scripting.FileSystemObject")
ตั้งค่า f=fso.OpenTextFile (server.mappath (ชื่อไฟล์))
เนื้อหา=f.อ่านทั้งหมด
ฉ.ปิด
ตั้งค่า f=ไม่มีอะไร
ตั้งค่า fso=nothing
set re = regexp ใหม่
re.ignorecase = จริง
re.global = จริง
ใหม่รูปแบบ = "<%@[^%]+%>"
เนื้อหา = re.replace (เนื้อหา "")
re.global = เท็จ
re.pattern = "<!--s*#includes*files*=s*""([^""]+)""s*- ->"
ทำ
set ms = re.execute (เนื้อหา)
ถ้า ms.count<>0 แล้ว
กำหนดให้ ม. = มิลลิวินาที(0)
tmp_str = get_exe_code(m.submatches(0))
เนื้อหา = re.replace (เนื้อหา tmp_str)
อื่น
ออกทำ
สิ้นสุดถ้า
วนซ้ำ
เซต m = ไม่มีเลย
ตั้งค่า ms = ไม่มีเลย
ใหม่.รูปแบบ="^s*="
aspEnd=1
aspStart=inStr(aspEnd,เนื้อหา,"<%")+2
ตั้งค่า re1=regExp ใหม่
re1.ignorecase = จริง
re1.global = เท็จ
re1.pattern = "ตอบกลับ.เขียน(.+)"
ทำในขณะที่ aspStart>aspEnd+1
execode = execode&vbcrlf&" Hughchiu_rtcode = Hughchiu_rtcode&"""&แทนที่( แทนที่(กลาง(เนื้อหา,aspEnd,aspStart-aspEnd-2),"""","""""), vbcrlf, """&vbcrlf&""") &""""&vbcrlf
aspEnd=inStr(aspStart,เนื้อหา,"%>")+2
tmp_str = กลาง (เนื้อหา, aspStart, aspEnd-aspStart-2)
ทำ
ตั้งค่า ms = re1.execute (tmp_str)
ถ้า ms.count<>0 แล้ว
กำหนดให้ ม. = มิลลิวินาที(0)
tmp_str = re1.replace(tmp_str, " Hughchiu_rtcode = Hughchiu_rtcode&"&m.submatches(0))
อื่น
ออกทำ
สิ้นสุดถ้า
วนซ้ำ
เซต m = ไม่มีเลย
ตั้งค่า ms = ไม่มีเลย
execode = execode& re.replace(tmp_str,"hughchiu_rtcode = Hughchiu_rtcode&")
aspStart=inStr(aspEnd,เนื้อหา,"<%")+2
วนซ้ำ
ตั้ง re1 = ไม่มีเลย
ตั้งค่าใหม่ = ไม่มีอะไร
execode = execode&vbcrlf&" Hughchiu_rtcode = Hughchiu_rtcode&"""&แทนที่( แทนที่(กลาง(เนื้อหา,aspEnd), """", """"""), vbcrlf, """&vbcrlf&""" )&""""&vbcrlf
get_exe_code = "<%"&execode&"%>"
ฟังก์ชันสิ้นสุด
ฟังก์ชั่น asp2html (ชื่อไฟล์)
รหัสสลัว
code = แทนที่( แทนที่( แทนที่( get_exe_code(ชื่อไฟล์), "hughchiu_rtcode = Hughchiu_rtcode&"""""&vbcrlf, "" ), "<%", "" ), "%>", "" )
'response.Write (รหัส)
ดำเนินการ (รหัส)
'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 = ไม่มีอะไร
set fso = ไม่มีอะไร
ฉันหวังว่าฟังก์ชันนี้จะเป็นประโยชน์กับทุกคน เนื่องจากระดับที่จำกัด โปรดชี้ให้เห็นข้อผิดพลาดและหวังว่าจะสามารถปรับปรุงได้