私はHIV予防のための情報保管サイトに取り組んでいます。多くの協力者がtinyMCEGUIを介して記事を投稿します。
もちろん、グラフィックデザイナーは、ページの長さを制御したいと考えています。彼らは、ページのコンテンツの高さに基づいて自動ページ付けを望んでいます。
これを管理するためのAJAXコードを見た人はいますか?
単語やタグの分割を回避するために、文字数のカウントと後読みの正規表現を実行できるPHPコードを見た人がいることを除けば?
リンクは大歓迎です!
私はHIV予防のための情報保管サイトに取り組んでいます。多くの協力者がtinyMCEGUIを介して記事を投稿します。
もちろん、グラフィックデザイナーは、ページの長さを制御したいと考えています。彼らは、ページのコンテンツの高さに基づいて自動ページ付けを望んでいます。
これを管理するためのAJAXコードを見た人はいますか?
単語やタグの分割を回避するために、文字数のカウントと後読みの正規表現を実行できるPHPコードを見た人がいることを除けば?
リンクは大歓迎です!
正確である必要がない場合、単純な単語カウント関数を使用してページを分割する適切な場所を決定できない理由はありません (最も近い段落であると思います)。画像のサイズを考慮に入れても、投稿に画像があるかどうかに基づいて、ページあたりの単語を減らすこともできます。
それは醜い速さになる可能性がありますが、それを行う最善の方法は、解析できる記事内のタグを使用してページ分割を手動で設定できるようにすることだと思います. [pagebreak] のようなものは非常に簡単で、自動化されたソリューションよりもはるかに論理的で読みやすい改ページが得られます。
良いページネーションは簡単な作業ではありません。それはコーディングの単純な問題ではありません。Plass(1981)による科学的研究は、最適なページ分割が一般にNP困難であることを証明しました。フローティングフィギュア、改行、さまざまなフォントスタイルなどについて心配する必要があります。
そして、HTMLエンジンが役立つのは、ページをDOMツリーに解析することだけです。サイズはどうですか?はい、フォントの幅と高さ、余白とパディング、画像のサイズを設定できます。しかし、それだけです。すべてのレイアウトはあなたの肩にあります。そして、JavaScriptでそれを行う...まあ...
したがって、自動固定高さページ付けの唯一の実行可能なソリューションは、サーバー側です。PrinceXMLは現在最高のHTML2PDFコンバーターです。しかし、それは多くの費用がかかります。
ページの高さが異なる場合は、epallaの提案を使用できます。しかし、これも見た目ほど単純ではありません。
ページネーションに関するいくつかの参考資料:
これはあなたが探している正確な答えではないかもしれませんが、サイトの高さが固定されていないことを本当に確認する必要があります. 柔軟な幅は非常に便利ですが、高さほど重要ではありません。
特にこのような原因と、コンテンツの多いサイトの場合。柔軟な高さを要求するのは公平です。
apphacker が述べたように、PHP 内から高さを実際に検出することはできず、javascript に行き詰まっています。ページングに完全に行き詰まっている場合は、ページをいつ分割するかをコンテンツの作成者に決定させる方がおそらく良いでしょう。そのため、単語や文などの途中ではなく、実際のセクションで分割します.
編集:ユーザビリティはデザインを決定するべきであり、その逆ではありません。あなたはそれを間違っています;)
文字数だけでなく、高さを占める可能性のある画像やその他の埋め込みオブジェクトがページに含まれている場合は、画像の高さについても考慮する必要があります。また、文字数だけでは段落の構造がわからない (多くの段落が含まれるページよりも文字数が多い 1 つの長い段落の方が短い場合がある)。
JavaScript を使用する場合は、それが理想的な解決策かもしれません。記事全体をクライアントに投稿し、JavaScript にページネーションを処理させます。クライアントから、画像とオブジェクトの高さを検出できます。PHP を使用して、ページがあるべきだと思われる場所にマーカーを配置し、JavaScript を使用してそれを実現することができます。ページが非常に長い場合を除き、xmlHttpRequests (AJAX) を何度も実行する必要はないと思います。
単純な PHP ソリューションも単純ですが、行数の管理の問題を扱っていないため、おそらく理想的ではありません。GET 変数を使用して、ページ内のどこにいるかを判断できます。