マニュアルの6.3.7でタグを除去する方法について解説されていますが、
この方法ではページ全体がタグが除去されてしまいますよね?
そうではなく、ページ内の特定の項目だけタグを無視することは可能でしょうか?
例えば、詳細画面では<br>タグ通りに改行して表示するけど、
一覧画面では<br>を無視してタイトルを1行で表示する、といった場合です。
よろしくお願いいたします。
特定の項目だけタグを無視して表示させる方法について
あれからちょっと出掛けてまして、車の中で単純な解決方法が思い浮かびました。
xsltの関数にはタグを除去したりなんてものがないのでsubstring-after/beforeあたりでどうにかと考えたのですが面倒でした。
とりあえず二つ目の<br />の手前まではこれで取り出せます。
まったくもって使えません。
なので無理矢理CSSでやってみました。
セレクタをわかりやすくしておけばメンテナンスもしやすいでしょうし。
こんな感じになります。
http://cmsd.pdy.jp/sub_ba.php
もっといいやり方があるかもしれませんので参考までに。
xsltの関数にはタグを除去したりなんてものがないのでsubstring-after/beforeあたりでどうにかと考えたのですが面倒でした。
とりあえず二つ目の<br />の手前まではこれで取り出せます。
コード: 全て選択
<xsl:value-of select="substring-before(title, '<')" disable-output-escaping="yes" />
<xsl:value-of select="substring-before(substring-after(title, '>'), '<')" disable-output-escaping="yes" />
なので無理矢理CSSでやってみました。
コード: 全て選択
[CSS]
<style type="text/css" media="screen"><!--
#br_none br { display: none; }
--></style>
[デザイン定義]
<div id="br_none">
<xsl:for-each select="entry">
<xsl:value-of select="title" disable-output-escaping="yes" />
</xsl:for-each>
</div>
こんな感じになります。
http://cmsd.pdy.jp/sub_ba.php
もっといいやり方があるかもしれませんので参考までに。
ありがとうございます!
tsuさま
なるほど、CSSで<br>を非表示にするとは思いつきませんでした:idea:
さっそく活用させていただきます。
本当にありがとうございました。
なるほど、CSSで<br>を非表示にするとは思いつきませんでした:idea:
さっそく活用させていただきます。
本当にありがとうございました。
Re: ありがとうございます!
bsacsatoさん、いつもご質問ありがとうございます。
また、tsuさん、私が不在の間、大変的確な回答を頂いており、ありがとう
ございます。m(__)m
tsuさんのご回答の通り、現在では実現が大変困難になっております。
css活用がやはり、ベストな解決策となるかと思います。
cssだけで問題が解決できなかった場合、再度ご連絡頂ければ幸いです。
また、tsuさん、私が不在の間、大変的確な回答を頂いており、ありがとう
ございます。m(__)m
tsuさんのご回答の通り、現在では実現が大変困難になっております。
css活用がやはり、ベストな解決策となるかと思います。
cssだけで問題が解決できなかった場合、再度ご連絡頂ければ幸いです。