2

私は単純なphp-MySql Webサイトに取り組んでおり、データベース内の各エントリの次のフィールドのデータを(ループを介して)表示しています:

  1. 題名

  2. 組織

  3. 詳細情報

データベースの「DetailedInfo」フィールドには、最大 5000 文字を保持できます。Web ページに表示している間、最初の 250 文字しか使用していません。

問題は次のとおりです。エントリに 240 文字目などから始まる書式タグ (斜体/太字) があり、書式タグが 250 番目の文字で閉じられていない場合、問題が発生します。以降のすべてのエントリでは、Title、Organization、および DetailedInfo がタグとともに表示されます (したがって、後続のすべてのテキストは斜体または太字になります)。Title、Organization、および DetailedInfo に CSS スタイルを使用していますが、CSS はデータから書式タグを取り除くことができないようです。

どんな助けでも大歓迎です。乾杯、ティム

4

3 に答える 3

1

フィールドのごく一部しか表示していない場合、detailedInfoフォーマットはそれほど重要ではないと思います。strip_tags()表示する前に書式タグを取り除くために使用します。

于 2013-07-18T20:46:57.473 に答える
0

CSSでそれを修正するつもりはありません(そして、それが可能だとは思いません)。無効な HTML を出力しているため、特に誰かが IE 8 以前でページを見た場合に問題が発生します。

閉じられていないタグよりも悪い場合もあります。抜粋が で終わる場合はどうなり</iますか?

250 文字の抜粋内の閉じられていない HTML タグを閉じるクレイジーなロジックを実装するか、抜粋からすべての HTML タグを削除します。後者の方が簡単だと思います。

于 2013-07-18T20:48:06.167 に答える
0

CSS は壊れた HTML を修正できません。プレーン テキストに戻して再コーディングする (またはそのままにしておく) 必要があります。

于 2013-07-18T20:47:22.193 に答える