0

ある商品の詳細ページを作っています。この詳細ページには大量のテキストを含めることができ、顧客は最初の 100 文字のみを表示して、最後に「 ... more 」を追加したいと考えています。

ユーザーがこの「 ... more 」をクリックすると、残りのテキストを表示できます。

最大の問題: テキストは現在 CMS であり、多種多様です。純粋なテキストもあれば、html 要素を含むものもあります...

テキストを切り取ってスパンに入れてみました。次に、これらのスパンを好きなように表示/非表示にできます。ここでの問題は、特定のタグの開始要素が最初のスパンにあり、終了要素が 2 番目のスパンにある可能性があることです。これにより、DOM 階層に障害が発生し、結果は決してきれいではありません。

これを達成する(他の)方法または私が使用できるライブラリを知っている人はいますか?

4

1 に答える 1

0

「読み取り可能な」文字を抽出できるようにするには、コンテンツをプレーン テキスト形式にする必要があります (マークアップを取り除きます)。

コンテンツは cms に保存されているため、コンテンツは整形式 (つまり xhtml) になるように構造化されている可能性があります。その場合は、コンテンツを XML として扱うことができます。ルート ノードを取得し、その内部テキスト プロパティを取得します。次に、プレーン テキスト (タグなし) が作成され、最初の 100 文字の後で、または必要に応じて簡単に切り取ることができます。

コンテンツに js/css が含まれていないことを願っています。

編集: マークアップを保持する必要があるようです。次の xsl を試して、コンテンツを変換して切り捨てます: https://gist.github.com/allen/65817

于 2015-06-10T12:22:31.747 に答える