Boa PHP Texto Paginação

votos
3

Eu estou trabalhando em um site de armazenamento de informações para a prevenção do HIV. Muita colaboradores estarei postando artigos através de um GUI tinyMCE.

Os designers gráficos, é claro, querem controle sobre comprimentos de página. Eles gostariam paginação automática com base na altura do conteúdo na página.

Alguém viu código AJAX para gerenciar isso?

Exceto que alguém viu código PHP que pode fazer uma contagem de caracteres e um olhar-behind regex para evitar palavras divisão ou tags?

Todos os links muito apreciada!

Publicado 29/04/2009 em 16:54
fonte usuário
Em outras línguas...                            


4 respostas

votos
3

Se ele não precisa ser exato não há nenhuma razão você não pode usar uma função de contagem de palavras simples para determinar um local apropriado para quebrar a página (no parágrafo mais próximo suponho). Você poderia ir tão longe como para reduzir as palavras por página com base em se existem imagens no post, mesmo tendo o tamanho das imagens em conta.

Isso pode ficar feio rápido embora, eu acho que a melhor maneira de fazer isso é permitir-lhes para definir manualmente os divisores de página com uma tag no artigo que você pode analisar. Algo como [pagebreak] é bastante simples e você vai ter quebras de página muito mais lógica e legível do que qualquer solução automatizada iria conseguir.

Respondeu 29/04/2009 em 23:34
fonte usuário

votos
1

Um bom paginação não é uma tarefa simples. Isso não é uma simples questão de codificação. A investigação científica por Plass (1981) provou que a quebra página ideal é em geral NP-hard. Você deve se preocupar com figuras flutuantes, quebras de linha, diferentes estilos de fonte, etc.

E a única coisa que um motor de HTML pode ajudá-lo é analisar uma página para uma árvore DOM. E quanto a tamanhos? Sim, você pode ter a largura da fonte e altura da fonte, margens e guarnição, tamanhos de imagem. Mas isso é tudo. Tudo o layout está em seus ombros. E fazê-lo em javascript ... meh ...

Assim, a única solução viável de automática pagination altura fixa seria um do lado do servidor. PrinceXML é atualmente o melhor conversor HTML2PDF. Mas custa muito.

Se você é bom com alturas diferentes de página, você pode usar a sugestão de epalla. Mas isso também não é tão simples como parece.

Algumas referências para pagination:

Respondeu 11/12/2010 em 12:47
fonte usuário

votos
1

Embora isto possa não ser a resposta exata que você está procurando, mas você realmente deve se certificar que seu site não tem uma altura fixa. Flexível largura de são realmente bom, mas não tão crítica como a altura.

Especialmente para uma causa como esta, e um site de conteúdo pesado; é justo exigir alturas flexíveis.

Como mencionado por apphacker, você não pode realmente detectar a altura de dentro PHP e você está tipo de preso com javascript. Se você está absolutamente preso com paginação, provavelmente é melhor deixar os seus autores de conteúdo decidir quando interromper a página, para que você quebrá-lo em uma seção real, em vez de meados de palavra, frase, etc.

Edit: usabilidade deve ditar design, não o contrário. Você está fazendo isso errado ;)

Respondeu 29/04/2009 em 18:20
fonte usuário

votos
1

Você não só tem que se preocupar com contagem de caracteres, você também tem que se preocupar com alturas imagem se há imagens ou qualquer outro tipo de objetos incorporados em suas páginas que pode levar até a altura. contagem de caracteres também não vai lhe dar uma idéia da estrutura parágrafo (parágrafo único longa com mais personagens do que uma página com muitos parágrafos pode ser mais curto).

Se você está disposto a usar JavaScript, que pode ser a solução ideal, publicar o artigo inteiro para o cliente e deixá JavaScript lidar com a paginação. A partir do cliente pode detectar imagem e objeto alturas. Você poderia usar o PHP para colocar marcadores sobre onde você acha que as páginas devem ser, em seguida, usar JavaScript para fazer isso acontecer. A menos que as páginas são muito tempo eu não acho que você vai precisar fazer várias XMLHttpRequests (Ajax).

Por apenas uma solução PHP direto também é simples, mas provavelmente não ideal como você não está lidando com uma questão de gestão de contagens de linha. Você poderia usar uma variável GET para determinar onde você está na página.

Respondeu 29/04/2009 em 17:00
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more