スポンサーサイト[スポンサー広告]

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2008/03/22(土)

コメントの要約で改行タグを消す[インターネット]

タグ: ブログ FC2ブログ ブログカスタマイズ JavaScript

FC2ブログで使用できる変数の中に、<%topentry_comment_list_body>と<%rcomment_body>がある。これらは、以前は改行タグが含まれない仕様だったようだ。それが、現在は改行タグが入ってしまう。2005年に、ユーザーフォーラムで不具合報告があるのに、ずっとそのままだ。

<%rcomment_body>を、最近のコメントのtitleとして使いたかったので、この問題が解決するまでは、JavaScriptで改行タグを取り除くことにした。句読点がないコメントも考慮して、スペースに変換する仕様にした。

<ul>
<!--rcomment-->
<li &align>
<script type="text/javascript">
var rcomment_str = '<%rcomment_body>';
rcomment_str = rcomment_str.replace(/<br \/>/g, ' ');
document.write('<a href="<%rcomment_link>#comment<%rcomment_no>" title="' + rcomment_str + '">Re: <%rcomment_etitle></a>');
</script>
<noscript>
<a href="<%rcomment_link>#comment<%rcomment_no>" title="<%rcomment_body>">Re: <%rcomment_etitle></a>
</noscript>
<div style="text-align:right"><%rcomment_name> <%rcomment_year>/<%rcomment_month>/<%rcomment_day> <%rcomment_hour>:<%rcomment_minute>
</div>
</li>
<!--/rcomment-->
</ul>

これを、最近のコメントのプラグインにある、HTMLの編集に貼る。このブログで使っているものをそのまま載せているので、タグや出力形式はお好みで。

追記:
最新記事の要約で改行コードを消すの記事に続く。
関連記事
コメント
使わせていただきました。ありがとうございます。

最近の記事でtitle="<%recent_body>"を使っていますが、この改行もできれば無くしたくて...いじってみましたが、エラーになってしまいました。

recent_bodyだとそのままですかね。。。
paruparu #- | URL | 2008/07/10(木) 16:50 [編集]
<%recent_body>は、もともと改行タグを出力しませんが、この場合は改行コードを削除したいということですね。
Firefoxでは、何もしなくても詰めて表示されるので、今まで気づきませんでした。

改行コードを除去できないか試したのですが、よい方法が見つかりませんでした。
JavaScriptで文字列を置換する際に、まず<%recent_body>の内容を変数に代入するのですが、途中に改行があると、そのまま改行が入って展開されます。

例)
var recent_str = '<%recent_body>';

var recent_str = 'あいうえお
かきくけこ';

この状態は、JavaScriptの文法としておかしいので、エラーになってしまいます。
<%recent_body>が、改行コードを出力しない仕様になればよいのですが。
犬かい #glOSfxEQ | URL | 2008/07/11(金) 06:35 [編集]
コメントの投稿









JavaScriptを有効にする必要があります。




管理者にだけ表示を許可する

1カ月間、新規記事がない場合、コメントは承認制になります。

トラックバック
トラックバックURL
http://tswe.blog98.fc2.com/tb.php/48-47369eef
この記事にトラックバックする(FC2ブログユーザー)

| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。