2009-04-29 18 views
3

私はHIV予防のための情報倉庫サイトに取り組んでいます。たくさんの協力者が、小さなMCE GUI経由で記事を投稿します。良いPHPテキストページ区切り

グラフィックデザイナーはもちろん、ページの長さを制御する必要があります。彼らは、ページ内のコンテンツの高さに基づいて自動ページネーションを望みます。

これを管理する誰かがAJAXコードを見ましたか?

単語やタグの分割を避けるために、文字数と振る舞いの正規表現を行うことができるPHPコードを見た人はいませんか?

大変ありがとうございました!

答えて

3

正確である必要がない場合は、簡単な単語カウント関数を使用してページを破る適切な場所を決定することはできません)。投稿の中に画像があるかどうかに基づいて、画像のサイズを考慮してもページあたりの語数を減らすことができます。

これは醜いことになるかもしれませんが、私はそれを行う最良の方法は、あなたが手動で解析することができる記事のタグ付きページ分割を設定できるようにすることだと思います。 [pagebreak]のようなものはかなり簡単で、自動化されたソリューションよりもはるかに論理的で読みやすい改ページが得られます。

+0

ありがとうepalla。私はその提案を進めてきましたが、広告担当者は単純に無知にしなければならず、未知のコードの自動ページ設定は本当に簡単なことであると感じています。 – jerrygarciuh

1

文字数が気になるだけでなく、ページに画像や他の種類の埋め込みオブジェクトがある場合、画像の高さを気にする必要があります。文字数は、段落構造のアイデアを与えるものでもありません(多くの段落を持つページよりも多くの文字を持つ単一の長い段落が短くなる可能性があります)。

JavaScriptを使用したい場合は、記事全体をクライアントに投稿し、JavaScriptがページネーションを処理できる理想的なソリューションかもしれません。クライアントから、画像とオブジェクトの高さを検出できます。 PHPを使用して、ページがどこにあるべきかについてのマーカーを配置してから、JavaScriptを使用してそれを実現させることができます。ページが非常に長い場合を除き、私はあなたがいくつかのxmlHttpRequests(AJAX)を行う必要があるとは思わない。

単純なPHPソリューションでは単純ですが、行数を管理することに対処していないため、おそらく理想的ではありません。 GET変数を使用して、ページ内の場所を特定することができます。

1

これは正確な答えではありませんが、サイトの高さが固定されていないことを確認する必要があります。柔軟な幅は本当に素晴らしいですが、高さほど重要ではありません。

特にこのような原因やコンテンツが重いサイトの場合は、柔軟な高さを要求するのは公正です。

apphackerで説明したように、PHP内からの高さを実際に検出することはできません.JavaScriptには固執しています。ページングに悩まされている場合は、コンテンツの作成者がページを分割するタイミングを決定するようにしてください。中間の文章、文章などではなく、実際のセクションで分割してください。

編集:使いやすさはデザインを決めるべきであり、その逆のことではありません。あなたはそれを間違っている;)

+0

は、私たちはこの1にそれは間違ってやっていることが絶対に同意するものとします。それは何人かの印刷人がWeb開発者を雇うときに起こることです。私は彼らに何百回もこれは間違っていると言いましたが、彼らは契約を結んでいて、私はそれを正しく行うことを支払うことはありません。私は広告のexecが言うようにそれをするための報酬を得る。 – jerrygarciuh

+0

スクロールがページングより優れていると私は同意しません。良い古い300ページの本は50メートルのスクロールより良い方法です。そして、あなたはpgUpとpgDonwのキーがあると言いません!彼らは彼らの名前に値するものではありません! – Vanuan

1

ページネーションは簡単な作業ではありません。これはコーディングの単純な問題ではありません。 Plass(1981)による科学的研究は、最適なページ区切りは一般にNP困難であることを証明した。 浮動小数点数、改行、異なるフォントスタイルなどについて心配する必要があります。

HTMLエンジンは、ページをDOMツリーに解析するのに役立つ唯一のものです。サイズはどうですか?はい、あなたはフォントの幅とフォントの高さ、余白とパディング、画像のサイズを持つことができます。しかしそれだけです。すべてのレイアウトはあなたの肩にあります。 javacript ... meh ...

したがって、自動固定高さページネーションの唯一の実行可能なソリューションは、サーバー側です。 PrinceXMLは現在、最高のHTML2PDFコンバータです。しかし、それは多くの費用がかかります。

ページの高さが異なる場合は、epallaの提案を使用できます。しかし、これはそれがそうであるように単純ではありません。ページネーションのための

いくつかの参照:

+0

ありがとう!私は情報とリンクを感謝します! – jerrygarciuh