Nun ist es kein Problem, daraus statische Seiten zu generieren, aber wie generiert man statische Dateien mit Nummern wie 20030405-1.htm 20030405-2.htm 20030405-3.htm nach bestimmten Regeln? Ein Freund von CSDN hat es letztes Mal beantwortet, also habe ich es kopiert. Der Originaltext lautet wie folgt
===========================
Verwenden Sie Statistiken zur Wortanzahl von Artikeln und kürzen Sie die Ausgabe dann ab, wenn eine bestimmte Wortanzahl erreicht wird. Der paginierte Inhalt wird jedoch an unerklärlichen Stellen abgeschnitten, was nicht sehr benutzerfreundlich ist.
Es ist ganz einfach: Suchen Sie nach dem folgenden Symbol in der Nähe der Stelle, die Sie abschneiden möchten:
;'? . ! ;'.!
Wenn dahinter <p> oder <br> steht, erfolgt ein Seitenumbruch. Die Hauptsache ist, das Format des Artikels zu studieren.
<%
wenn Request.ServerVariables(Content_Length) > 0 dann
content = Request.Form(textarea1)PageLength = 1000 'Anzahl der Wörter pro Seite
CLength = Len(Inhalt)
PageCount = Int(Clength/PageLength) + 1 'Berechnen Sie die Anzahl der Seiten dim PageArray
redim PageArray(PageCount)Seperator = Array(chr(13),chr(10),.,!,?,;,,,,') 'Separator PageArray(0) = 0
Pos = 0
für j=0 bis ubound(Seperator)
Pos = instr(PageArray(i)+900,content,Seperator(j)) 'Die Position in der Nähe von PageArray(i)+900 beträgt 100 Wörter, 1-999 ist einstellbar
während Pos > 0 und Pos < (i+1)*PageLength und Pos > i*PageLength
PageArray(i) = Pos
Pos = instr(Pos+PageLength,content,Seperator(j))
wendif PageArray(i) > 0 dann
Response.Write 0:i¦ &PageArray(i)&<br>&j&:j&Seperator(j)&<br>
j = j + ubound(Trennzeichen) + 1
Ende wenn
nextfor i=1 bis PageCount-1
PageArray(i) = 0
Pos = 0
für j=0 bis ubound(Seperator)
Pos = instr(PageArray(i-1)+950,content,Seperator(j))
während Pos > 0 und Pos < (i+1)*PageLength und Pos > i*PageLength
PageArray(i) = Pos
Pos = instr(Pos+PageLength,content,Seperator(j))
wenden
wenn PageArray(i) > 0 dann
Response.Write i&:i¦ &PageArray(i)&<br>&j&:j&Seperator(j)&<br>
j = j + ubound(Trennzeichen) + 1
Ende wenn
nächste
nextoutput = mid(content,1,PageArray(0))
Ausgabe = ersetzen(Ausgabe,Chr(13),<br>)
Response.Write <br><br>Absatz 1<br>
Response.Write-Ausgabe für i=1 bis PageCount-2
Ausgabe = mid(content,PageArray(i-1)+1,PageArray(i)-PageArray(i-1))
Ausgabe = ersetzen(Ausgabe,Chr(13),<br>)
Response.Write <br><br>Absatz &i+1&<br>
Response.Write-Ausgabe
Die Ausgabe des nächsten' letzten Absatzes wird nicht anders geschrieben.
%>
<FORM action= method=POST id=form1 name=form1>
<TEXTAREA rows=70 cols=120 id=textarea1 name=textarea1>
</TEXTAREA>
<INPUT type=submit value=Submit id=submit1 name=submit1>
</FORM>
<%end if%>
-------------------------------------------------- -------------
Definieren Sie die Länge jeder Seite MaxLength
GesamttextlängeTotalLength
Suchen Sie am Ende jedes Absatzes im Artikel nach harten Rückgaben
und berechne die Länge
Sobald die maximale Länge überschritten wird, wird sie in die erste Seite unterteilt.
Löschen Sie das Teil vor dieser harten Rückkehr und wiederholen Sie den obigen Vorgang.