이제 정적 페이지를 생성하는 데 문제가 없지만 특정 규칙에 따라 20030405-1.htm 20030405-2.htm 20030405-3.htm과 같은 숫자의 정적 파일을 생성하는 방법은 무엇입니까? 지난번에 CSDN 친구가 답변을 해서 복사해 봤습니다. 원문은 다음과 같습니다
===========================
기사의 단어 수에 대한 통계를 사용하고 특정 단어 수에 도달하면 출력을 자르지만 페이지가 매겨진 내용은 설명할 수 없는 곳에서 잘려 매우 친숙하지 않습니다.
매우 간단합니다. 잘라내려는 위치 근처에서 다음 기호를 찾으세요.
;'? . ! ;'.!
뒤에 <p>나 <br>이 있으면 페이지 나누기입니다. 가장 중요한 것은 기사의 형식을 연구하는 것입니다.
<%
Request.ServerVariables(Content_Length) > 0이면
content = Request.Form(textarea1)PageLength = 1000 '페이지당 단어 수
CLength = Len(내용)
PageCount = Int(Clength/PageLength) + 1 '페이지 수 계산 Dim PageArray
redim PageArray(PageCount)Seperator = Array(chr(13),chr(10),.,!,?,;,,,,') '구분자 PageArray(0) = 0
포지션 = 0
j=0에서 ubound까지(구분자)
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이면
응답.쓰기 0:i¦ &PageArray(i)&<br>&j&:j&Seperator(j)&<br>
j = j + ubound(구분자) + 1
종료하면
nextfor i=1 ~ PageCount-1
페이지Array(i) = 0
포지션 = 0
j=0에서 ubound까지(구분자)
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이면
응답.Write i&:i¦ &PageArray(i)&<br>&j&:j&Seperator(j)&<br>
j = j + ubound(구분자) + 1
종료하면
다음
nextoutput = mid(content,1,PageArray(0))
출력 = 대체(출력,chr(13),<br>)
응답.작성 <br><br>1항<br>
응답. i=1에 대한 출력을 PageCount-2에 기록합니다.
출력 = mid(content,PageArray(i-1)+1,PageArray(i)-PageArray(i-1))
출력 = 대체(출력,chr(13),<br>)
응답.쓰기 <br><br>단락 &i+1&<br>
응답.쓰기 출력
next' 마지막 문단의 출력은 달리 쓰여지지 않습니다.
%>
<FORM 액션= 메소드=POST id=form1 이름=form1>
<TEXTAREA 행=70 cols=120 id=textarea1 이름=textarea1>
</TEXTAREA>
<입력 유형=제출 값=제출 ID=제출1 이름=제출1>
</FORM>
<%다음 경우 종료%>
------------------------------------- -------------
각 페이지의 길이를 정의합니다. MaxLength
총 텍스트 길이TotalLength
기사의 각 단락 끝에서 하드 리턴을 검색하세요.
그리고 길이를 계산해 보세요
MaxLength를 초과하면 첫 번째 페이지로 분할됩니다.
이 하드 리턴 이전 부분을 삭제하고 위 작업을 반복하십시오.