الآن لا توجد مشكلة في إنشاء صفحات ثابتة منها، ولكن كيفية إنشاء ملفات ثابتة بأرقام مثل 20030405-1.htm 20030405-2.htm 20030405-3.htm وفقًا لقواعد معينة؟ أجاب عليه صديق من CSDN في المرة السابقة، لذا قمت بنسخه. النص الأصلي هو على النحو التالي
===============================================
استخدم إحصائيات عدد كلمات المقالات، ثم قم باقتطاع الإخراج عندما يصل إلى عدد معين من الكلمات، ولكن سيتم اقتطاع المحتوى المرقّم في أماكن لا يمكن تفسيرها، وهو أمر غير ودود للغاية.
الأمر بسيط جدًا، ابحث عن الرمز التالي بالقرب من المكان الذي تريد اقتطاعه:
؛'؟ . ! ؛'.!
إذا كان هناك <p> أو <br> خلفه، فسيتم استخدام فاصل الصفحات. الشيء الرئيسي هو دراسة شكل المقال.
<%
إذا Request.ServerVariables(Content_Length) > 0 إذن
المحتوى = Request.Form(textarea1)PageLength = 1000 'عدد الكلمات في كل صفحة
الطول = لين (المحتوى)
PageCount = Int(Clength/PageLength) + 1 'احسب عدد الصفحات الباهتة PageArray
redim PageArray(PageCount)Seperator = Array(chr(13),chr(10),.,!,?,;,,,,') 'Separator PageArray(0) = 0
نقاط البيع = 0
لـ j=0 إلى ubound(Seperator)
Pos = instr(PageArray(i)+900,content,Seperator(j)) 'الموضع بالقرب من PageArray(i)+900 هو 100 كلمة، 1-999 قابل للتعديل
بينما Pos > 0 وPos < (i+1)*PageLength وPos > i*PageLength
PageArray(i) = Pos
Pos = instr(Pos+PageLength,content,Seperator(j))
wendif PageArray(i)> 0 ثم
Response.Write 0:i¦ &PageArray(i)&<br>&j&:j&Seperator(j)&<br>
ي = ي + ubound(فاصل) + 1
نهاية إذا
nextfor i=1 إلى PageCount-1
صفيف الصفحات (i) = 0
نقاط البيع = 0
لـ j=0 إلى ubound(Seperator)
Pos = instr(PageArray(i-1)+950,content,Seperator(j))
بينما Pos > 0 وPos < (i+1)*PageLength وPos > i*PageLength
PageArray(i) = Pos
Pos = instr(Pos+PageLength,content,Seperator(j))
com.wind
إذا PageArray(i)> 0 ثم
Response.Write i&:i¦ &PageArray(i)&<br>&j&:j&Seperator(j)&<br>
ي = ي + ubound(فاصل) + 1
نهاية إذا
التالي
nextoutput = mid(content,1,PageArray(0))
الإخراج = استبدال (الإخراج، مركز حقوق الإنسان (13)،<br>)
الاستجابة.اكتب <br><br>الفقرة 1<br>
الاستجابة.اكتب الإخراج لـ i=1 إلى PageCount-2
الإخراج = منتصف (المحتوى، PageArray(i-1)+1، PageArray(i)-PageArray(i-1))
الإخراج = استبدال (الإخراج، مركز حقوق الإنسان (13)،<br>)
الاستجابة.اكتب <br><br>الفقرة &i+1&<br>
الاستجابة.اكتب الإخراج
لا يتم كتابة إخراج الفقرة الأخيرة التالية بطريقة أخرى.
%>
< إجراء النموذج = الطريقة = معرف POST = اسم النموذج 1 = النموذج 1>
<صفوف TEXTAREA = 70 عمودًا = 120 معرفًا = اسم textarea1 = textarea1>
</تيكستاريا>
<نوع الإدخال=قيمة الإرسال=معرف الإرسال=اسم الإرسال1=إرسال1>
</فورم>
<%نهاية إذا%>
-------------------------------------------------- -------------
تحديد طول كل صفحة MaxLength
إجمالي طول النصTotalLength
ابحث عن العوائد الصعبة في نهاية كل فقرة في المقالة
وحساب الطول
بمجرد تجاوز الحد الأقصى للطول، سيتم تقسيمه إلى الصفحة الأولى.
احذف الجزء قبل هذه العودة الصعبة وكرر العملية المذكورة أعلاه.