Ahora no hay problema en generar páginas estáticas a partir de ellos, pero ¿cómo generar archivos estáticos con números como 20030405-1.htm 20030405-2.htm 20030405-3.htm de acuerdo con ciertas reglas? Un amigo de CSDN respondió la última vez, así que lo copié. El texto original es el siguiente.
============================
Utilice estadísticas sobre el recuento de palabras de los artículos y luego trunque la salida cuando alcance un determinado recuento de palabras, pero el contenido paginado se truncará en lugares inexplicables, lo cual no es muy amigable.
Es muy sencillo, busca el siguiente símbolo cerca del lugar que deseas truncar:
;'? . ! ;'.!
Si hay <p> o <br> detrás, salto de página. Lo principal es estudiar el formato del artículo.
<%
si Request.ServerVariables(Content_Length) > 0 entonces
contenido = Request.Form(textarea1)PageLength = 1000 'Número de palabras por página
CLongitud = Len(contenido)
PageCount = Int(Clength/PageLength) + 1 'Calcula el número de páginas oscuras PageArray
redim PageArray(PageCount)Seperator = Array(chr(13),chr(10),.,!,?,;,,,,') 'Separator PageArray(0) = 0
Posición = 0
para j=0 a ubound(Separador)
Pos = instr(PageArray(i)+900,content,Seperator(j)) 'La posición cerca de PageArray(i)+900 es 100 palabras, 1-999 es ajustable
mientras Pos > 0 y Pos < (i+1)*LongitudPágina y Pos > i*LongitudPágina
Matriz de páginas(i) = Pos.
Pos = instr(Pos+LongitudPágina,contenido,Separador(j))
wendif PageArray(i) > 0 entonces
Respuesta.Escribir 0:i¦ &PageArray(i)&<br>&j&:j&Seperator(j)&<br>
j = j + ubound(Separador) + 1
terminar si
nextfor i=1 a PageCount-1
Matriz de páginas(i) = 0
Posición = 0
para j=0 a ubound(Separador)
Pos = instr(PageArray(i-1)+950,contenido,Separador(j))
mientras Pos > 0 y Pos < (i+1)*LongitudPágina y Pos > i*LongitudPágina
Matriz de páginas(i) = Pos.
Pos = instr(Pos+LongitudPágina,contenido,Separador(j))
encaminarse a
si PageArray(i) > 0 entonces
Respuesta.Escribir i&:i¦ &PageArray(i)&<br>&j&:j&Seperator(j)&<br>
j = j + ubound(Separador) + 1
terminar si
próximo
siguientesalida = mid(contenido,1,PageArray(0))
salida = reemplazar(salida,chr(13),<br>)
Respuesta.Escribir <br><br>Párrafo 1<br>
Respuesta.Escribir salida para i=1 en PageCount-2
salida = mid(content,PageArray(i-1)+1,PageArray(i)-PageArray(i-1))
salida = reemplazar(salida,chr(13),<br>)
Respuesta.Escribir <br><br>Párrafo &i+1&<br>
Respuesta. Escribir salida
El resultado del último párrafo siguiente no se escribe más.
%>
<FORMULARIO acción= método=POST id=formulario1 nombre=formulario1>
<TEXTAREA filas=70 columnas=120 id=textarea1 nombre=textarea1>
</TEXTAREA>
<Tipo de ENTRADA=valor de envío=ID de envío=nombre de envío1=envío1>
</FORM>
<%finalizar si%>
-------------------------------------------------- -------------
Definir la longitud de cada página MaxLength
Longitud total del textoLongitud total
Busque devoluciones impresas al final de cada párrafo del artículo.
y calcular la longitud
Una vez que exceda MaxLength, se dividirá en la primera página.
Elimine la parte anterior a este retorno forzoso y repita la operación anterior.