投稿文字数(写真がある場合)
【目的】
投稿プレビュー:文字数が一定の制限を超えると、投稿の一部が表示され、残りが..全文表示
に置き換えられます。
【背景】
投稿には中国語、英語、リッチ テキスト エディターによって生成されたタグおよび画像が含まれており (これもタグによって導入されます)、投稿コンテンツは htmlspecialchars()
によって処理されます。
【現在困難です】
1. 投稿の「一部」が表示されることを望みます。この「一部」は、片側に多くの文字があるというよりも、ほぼ同じ大きさに見える量であることを望みます。なぜなら、UTF-8 では、文字数を制限すると、英語の投稿と中国語の投稿では明らかにサイズが違って表示されると思います
。
2. utf-8 環境で漢字 1 文字が 2 文字化けすることなく正しくセグメント化される
3. 画像を含む投稿も、画像の途中でタグをセグメント化する代わりに、正しくセグメント化できます
4. リッチテキストエディターの導入により、多くのコンテンツがタグ付けされているため、プレビューするときに処理するのが難しいように思えますが、リッチテキスト形式を使用せずにプレビューするだけでよいと思いますが、それは機能しません。これらのタグを削除する方法があるかどうか考えてください
5. ユーザー入力のセキュリティのため、ユーザー入力を処理するには htmlspecialchars() を使用する必要があります。ただし、最初にリッチ テキスト タグを追加してから htmlspecialchars() を使用すると、表示時にそれらのタグも処理されます。そこで、最初に htmlspecialchars() を使用してユーザー入力を処理し、次にリッチ テキスト タグ
を追加しました。
【実装例】
Zhihu.com で質問をクリックしないと、プレビューは私が望んでいることと同じように表示されます。フォーマットされていない、写真を含む約 4 ~ 5 行
【現在考えている解決策】
保存するときは、コンテンツを書式設定されたテキストと適切な長さにカットされた書式なしのプレビューとして保存します。この方法でプレビューは比較的簡単ですが、問題は書式を削除したテキストを取得する方法です (前の記事: コンテンツが最初に処理されます)。 htmlspecialchars() で実行し、リッチ テキスト エディターで処理する) とすると冗長になりますが、何か良い方法はないでしょうか
【その他】
リッチ テキスト エディターは textarea によって生成され、HTML に基づいており、基本的にタグ
を追加するだけです。
【最後に】
私のレベルが低すぎて、この問題を説明するのに時間がかかりました。この記事を読んでくださった皆様、ありがとうございました。 。
誰もが私の言いたいことを理解するはずだと思いますよね?混乱しなかったことを祈ります。 。 。
よろしくお願いします! !
なお、私のサイト:感想 http://42.121.107.221 昨日テスト的に立ち上げたばかりで、まだ登録が完了していませんが、自分の考えを書くという個人的な趣味です。このウェブサイトの位置付けに関して、ぜひアドバイスをお願いします。
------解決策---------
画像サイズが異なる場合(例: (画像は小さなアイコンやロゴ)、変形を避けるために拡大縮小には基準があり、常に同じサイズで表示することはできません。この要素を考慮すると、状況はさらに複雑になります。
ただし、制約が多いほど、実際のアプローチはより焦点が絞られ、明確になります。画像のサイズを取得して、表示制御に参加するだけです。中国問題も解決できる。
------解決策----------------------
一見すると、この Web サイトには多くのバグがあります. 時間があるときにまとめます。
------解決策----------------------
領域内の正確な単語が必要な場合は、数字だけを入力してくださいとにかく機能しません。
私は以前、div を作成し、単語 (img タグも単語とみなされます) を 1 つずつ追加することでこれを実行しました。div の高さが特定のプリセット値より高いことが判明した場合は、単語を削除して戻します。効率は比較的低いですが、効果はより優れています。
------解決策---------
#5 は「列挙メソッド」と呼ばれます。 >
「動的プログラミング手法」を使用して、各要素 (テキスト、画像) を四角形として扱い、問題を抽象化して、大きな四角形の中に最も小さな四角形を埋めることもできます。これは古典的なアルゴリズムであり、既製のコードが多数あります