これらから静的ページを生成するのは問題ありませんが、特定の規則に従って 20030405-1.htm 20030405-2.htm 20030405-3.htm のような番号を持つ静的ファイルを生成するにはどうすればよいでしょうか?前回CSDNの友人が回答してくれたので真似させていただきました。原文は以下の通り
===========================
記事の文字数に関する統計を使用し、一定の文字数に達したときに出力を切り詰めますが、ページ分割されたコンテンツは不可解な場所で切り詰められるため、あまり親切ではありません。
それは非常に簡単です。切り詰めたい場所の近くにある次の記号を探します。
;'? 。 ! ;'.!
<p> または <br> が後ろにある場合は改ページします。主なことは記事の形式を研究することです。
<%
Request.ServerVariables(Content_Length) > 0 の場合
content = Request.Form(textarea1)PageLength = 1000 'ページあたりの単語数
C長さ = 長さ(コンテンツ)
PageCount = Int(Clength/PageLength) + 1 ' ページ数を計算します dim 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 = instr(Pos+PageLength,content,Seperator(j))
wendif PageArray(i) > 0 then
Response.Write 0:i| &PageArray(i)&<br>&j&:j&Seperator(j)&<br>
j = j + 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 = instr(Pos+PageLength,content,Seperator(j))
曲がります
PageArray(i) > 0 の場合
Response.Write i&:i| &PageArray(i)&<br>&j&:j&Seperator(j)&<br>
j = j + ubound(セパレータ) + 1
終了する場合
次
nextoutput = Mid(content,1,PageArray(0))
出力 = replace(出力,chr(13),<br>)
Response.Write <br><br>段落 1<br>
Response.i=1 の出力を PageCount-2 に書き込みます
出力 = Mid(コンテンツ,PageArray(i-1)+1,PageArray(i)-PageArray(i-1))
出力 = replace(出力,chr(13),<br>)
Response.Write <br><br>段落 &i+1&<br>
応答.書き込み出力
次の最後の段落の出力は他には書かれません。
%>
<FORM アクション= メソッド=POST id=form1 name=form1>
<TEXTAREA rows=70cols=120 id=textarea1 name=textarea1>
</TEXTAREA>
<INPUT タイプ=送信値=送信 ID=送信1 名前=送信1>
</FORM>
<%end if%>
-------------------------------------------------- -------------
各ページの長さを定義します MaxLength
テキストの合計長TotalLength
記事の各段落の終わりにあるハードリターンをスキャンします。
そして長さを計算します
MaxLengthを超えると最初のページに分割されます。
このハードリターンより前の部分を削除し、上記の操作を繰り返します。