ページの作成や編集にはユーザ登録が必要です。
装飾用HTMLタグプラグイン
- 投稿者: あき
- カテゴリ: 新規
- 優先度: 低
- 状態: 提案
- 日時: 2004年11月24日 12時24分14秒
内容
ページの装飾に不可欠と思われるHTMLタグをプラグイン化しました。
BBS-雑談掲示板/89の話の流れで作成したプラグインです。独り占めしているのも勿体無いので公開します。
HTML出力専用です。PDF出力には使えません。他のプラグインと多少かぶる部分が有るかもしれません。(その場合は、Install.pmから該当する行を削除してください)
セキュリティに関しては、ある程度は配慮したつもりですが、気になる点を発見された方はどうかご指摘ください。(現状、ソースは精査できていないので、後日精査した後登録し直します)
かなり遅くなりましたが、ようやく一通り見直すことができました。いくつかの機能も拡張しました。(2006年1月31日)
サンプルページはこちら。
!!ご注意!! rev04以前の版には脆弱性が存在する可能性があります。本プラグインをご利用のユーザ様は、可能な限りrev05以降の版にバージョンアップして下さい。不都合が生じた場合はご連絡下さい。
更新履歴
- tag2.lzh(1054)
- 初版リリース。
- tag2_rev02.zip(1021)
- 第2版リリース。
- tag2_rev03.zip(1017)
- 第3版リリース。
- tag2_rev04.zip(1007)
- 第4版リリース。
- tag2_rev05.zip(1102)
- 第5版リリース。前面見直し。セキュリティ対策強化。機能追加。
- tag2_rev06.zip(1046)
- 第6版リリース。軽微な修正。
- tag2_rev07.zip(3658) 最新版
- 第7版リリース。div_blockを追加。
インストール方法
添付ファイルを解凍し、ディレクトリごとpluginディレクトリ下に放り込んでください。プラグイン設定画面でtag2を有効にしてください。
詳細説明
a
HTMLの<a>タグを出力します。
{{a リンク先,属性}} {{a 表示名|リンク先,属性}} {{a [[ページ名]],属性}} {{a [[表示名|ページ名]],属性}} {{a [[表示名|ページ名]],"属性1 属性2 属性3"}}
アンカータグを出力します。HTMLでいうところの<a>タグと等価です。
- リンク先には、Wikiページ名、又はURLを指定できます。
- Wiki文法と同様、リンク先をダブルブラケット "[[" 〜 "]]" で囲うとWikiページへのリンクになります。
- 同様に、縦棒を用いると、表示名とリンク先をそれぞれ別々に指定できます。
- 非推奨の属性や、セキュリティ上危険と思われる文字列を含んでいる場合は、その属性を無効化して出力します。
- 属性は、全体をダブルクォーティション「"」で囲うと複数の属性が指定できます。但し、この場合、直前のカンマ「,」との間に空白文字を入れてはいけません。また、属性の辺に空白を含めたい場合は、タブを使用して下さい。
{{a http://yahoo.co.jp}} {{a YAHOO!JAPAN|http://yahoo.co.jp}} {{a http://yahoo.co.jp,target=_blank}} {{a [[FrontPage]]}} {{a [[フロントページ|FrontPage]],"target='_blank' style='color:red;'"}}
↓ と書くと、次のように出力される。
<a href="http://yahoo.co.jp">http://yahoo.co.jp</a> <a href="http://yahoo.co.jp">YAHOO!JAPAN</a> <a href="http://yahoo.co.jp" target="_blank">http://yahoo.co.jp</a> <a href="?page=FrontPage">FrontPage</a> <a href="?page=FrontPage" target='_blank' style='color:red;'>FrontPage</a>
a_img
HTMLの<a>タグと<img>タグの組み合わせを出力します。
{{a_img リンク先,画像ファイル名}} {{a_img リンク先,画像ファイル名,<a>タグ属性,<img>タグ属性}} {{a_img リンク先,画像ファイル名,"<a>タグ属性1 <a>タグ属性2","<img>タグ属性1 <img>タグ属性2"}} {{a_img 表示名|リンク先,画像ファイル名}} {{a_img [[ページ名]],画像ファイル名}} {{a_img [[表示名|ページ名]],画像ファイル名}} {{a_img リンク先,画像添付ページ名:画像ファイル名}}
イメージによるリンクを出力します。HTMLでいうところの<a>タグと<img>タグの組み合わせと等価です。
バナーの表示等に最適です。
- リンク先には、Wikiページ名、又はURLを指定できます。
- Wiki文法と同様、リンク先をダブルブラケット "[[" 〜 "]]" で囲うとWikiページへのリンクになります。
- 同様に、縦棒を用いると、表示名とリンク先をそれぞれ別々に指定できます。指定された別名は、<img>タグのalt属性として出力されます。
- 他のページに添付されている画像を表示させるには、画像ファイル名の前に、<ページ名>+「:」を入れて下さい。
- 非推奨の属性や、セキュリティ上危険と思われる文字列を含んでいる場合は、その属性を無効化して出力します。
- 属性は、全体をダブルクォーティション「"」で囲うと複数の属性が指定できます。但し、この場合、直前のカンマ「,」との間に空白文字を入れてはいけません。また、属性の右辺に空白を含めたい場合は、タブを使用して下さい。
- デフォルトでは余計な属性を付加しませんので、画像の枠を表示させたくない場合は、IMGタグ属性に「border=0」を指定してください。
- 第3引数を省略する場合は、半角スペースを一つ入れて下さい。
{{a_img http://yahoo.co.jp,xxx.gif}} {{a_img http://yahoo.co.jp,xxx.gif,target="_blank",border=0}} {{a_img http://www.google.co.jp,xxx.gif,"target=_blank charset=UTF-8","border='0' style='width:120px;height:70px;'"}}
↓ と書くと、次のように出力される。
<a href="http://yahoo.co.jp"><img src="?action=ATTACH&page=FrontPage&file=xxx%2Egif" alt="http://yahoo.co.jp" /></a> <a href="http://yahoo.co.jp" target="_blank"><img src="?action=ATTACH&page=FrontPage&file=xxx%2Egif" alt="http://yahoo.co.jp" border="0" /></a> <a href="http://www.google.co.jp" target="_blank" charset="UTF-8"><img src="?action=ATTACH&page=FrontPage&file=xxx%2Egif" alt="http://yahoo.co.jp" border='0' style='"width:120px;height:70px;'" /></a>
br
HTMLの<br>タグを出力します。
{{br}} {{br 属性}}
改行します。HTMLでいうところの<br>タグと等価です。
- 非推奨の属性や、セキュリティ上危険と思われる文字列を含んでいる場合は、その属性を無効化して出力します。
- 属性は、全体をダブルクォーティション「"」で囲うと複数の属性が指定できます。但し、この場合、直前のカンマ「,」との間に空白文字を入れてはいけません。また、属性の右辺に空白を含めたい場合は、タブを使用して下さい。
{{br}} {{br style="clear:both;"}}
↓ と書くと、次のように出力される。
<br /> <br style="clear:both;" />
div
HTMLの<div>タグを出力します。
{{div 属性,要素}} {{div "属性1 属性2",要素}}
ブロック要素を出力します。HTMLの<div>タグと等価です。
- 非推奨の属性や、セキュリティ上危険と思われる文字列を含んでいる場合は、その属性を無効化して出力します。
- 属性は、全体をダブルクォーティション「"」で囲うと複数の属性が指定できます。但し、この場合、直前のカンマ「,」との間に空白文字を入れてはいけません。また、属性の右辺に空白を含めたい場合は、タブを使用して下さい。
- 複数行装飾用には、{{div_begin 属性}}〜{{div_end}}も存在します。
{{div style='text-align:right;', 右寄せで表示}}
↓ と書くと、次のように出力される。
<div style='text-align:right;'>右寄せで表示</div>
div_begin
HTMLの<div>開始タグを出力します。
{{div_begin 属性}} {{div_begin "属性1 属性2"}}
ブロック要素を出力します。HTMLの<div>開始タグと等価です。
複数行に渡る修飾をかけたいとき(文字色、文字サイズ、行間、文字飾り、センタリング表示等)に{{div_end}}と対で使用します。
- 非推奨の属性や、セキュリティ上危険と思われる文字列を含んでいる場合は、その属性を無効化して出力します。
- 属性は、全体をダブルクォーティション「"」で囲うと複数の属性が指定できます。但し、この場合、直前のカンマ「,」との間に空白文字を入れてはいけません。また、属性の右辺に空白を含めたい場合は、タブを使用して下さい。
- 単数行装飾用には、{{div 属性,要素}}も存在します。
{{div_begin style="text-align:center;font-weight:bold"}} ああああああああああ いいいいいいいい ううううううううう {{div_end}}
↓ と書くと、次のように出力される。
<div style="text-align:center;font-weight:bold"> ああああああああああ いいいいいいいい ううううううううう </div>
div_block
HTMLの<div>タグを出力します。(要BugTrack-plugin/203)
{{div_block 属性 WIKIソース }}
ブロック要素を出力します。HTMLの<div>タグと等価です。
- 本プラグインは「複数行プラグイン(BugTrack-plugin/203)」がインストールされているときだけ使用できます。
- 非推奨の属性や、セキュリティ上危険と思われる文字列を含んでいる場合は、その属性を無効化して出力します。
- 属性は、全体をダブルクォーティション「"」で囲うと複数の属性が指定できます。但し、この場合、直前のカンマ「,」との間に空白文字を入れてはいけません。また、属性の右辺に空白を含めたい場合は、タブを使用して下さい。
{{div_block style="color:red;margin-left:20px;" Wikiソース1行目 Wikiソース2行目 Wikiソース3行目 }}
↓ と書くと、次のように出力される。
<div style="color:red;margin-left:20px;"> Wikiソース1行目 Wikiソース2行目 Wikiソース3行目 </div>
※上記はイメージで、実際の出力とは異なります。
div_end
HTMLの<div>終了タグを出力します。
{{div_end}}
ブロック要素の終了を出力します。HTMLの<div>終了タグと等価です。
複数行に渡る修飾をかけたいとき(文字色、文字サイズ、行間、文字飾り、センタリング表示等)に{{div_begin}}と対で使用します。
その他詳細は、{{div_begin}}を参照のこと。
img
HTMLの<img>タグを出力します。
{{img 画像ファイル名}} {{img 画像添付ページ名:画像ファイル名}} {{img 画像ファイル名,属性}} {{img 画像ファイル名,"属性1 属性2"}}
イメージを出力します。HTMLでいうところの<img>タグと<img>と等価です。
ref_imageプラグインと似ていますが、こちらはインラインプラグインです。横に並べたり、サイズを指定したりすることが可能です。
- 他のページに添付されている画像を表示させるには、画像ファイル名の前に、<ページ名>+「:」を入れて下さい。
- 非推奨の属性や、セキュリティ上危険と思われる文字列を含んでいる場合は、その属性を無効化して出力します。
- 属性は、全体をダブルクォーティション「"」で囲うと複数の属性が指定できます。但し、この場合、直前のカンマ「,」との間に空白文字を入れてはいけません。また、属性の右辺に空白を含めたい場合は、タブを使用して下さい。
- デフォルトでは余計な属性を付加しませんので、画像の枠を表示させたくない場合は、IMGタグ属性に「border=0」を指定してください。
{{img xxx.gif}} {{img http://yahoo.co.jp,xxx.gif,Menu:xxx.gif}} {{img xxx.gif,border=0}} {{img xxx.gif,"border='0' style='width:120px;height:70px;'"}}
↓ と書くと、次のように出力される。
<img src="?action=ATTACH&page=FrontPage&file=xxx%2Egif" alt="http://yahoo.co.jp" /> <img src="?action=ATTACH&page=FrontPage&file=xxx%2Egif" /> <img src="?action=ATTACH&page=FrontPage&file=xxx%2Egif" alt="http://yahoo.co.jp" border='0' style='"width:120px;height:70px;'" />
span
HTMLの<span>タグを出力します。
{{span 属性,要素}} {{span "属性1 属性2",要素}}
汎用的なインライン要素を出力します。HTMLの<span>タグと等価です。
- 非推奨の属性や、セキュリティ上危険と思われる文字列を含んでいる場合は、その属性を無効化して出力します。
- 属性は、全体をダブルクォーティション「"」で囲うと複数の属性が指定できます。但し、この場合、直前のカンマ「,」との間に空白文字を入れてはいけません。また、属性の右辺に空白を含めたい場合は、タブを使用して下さい。
- 装飾のネスト用には、{{span_begin 属性}}〜{{span_end}}も存在します。
{{span style='font-weight:bold;',太字で表示}}
↓ と書くと、次のように出力される。
<span style='font-weight:bold;'>太字で表示</span>
span_begin
HTMLの<span>開始タグを出力します。
{{span_begin 属性}} {{span_begin "属性1 属性2"}}
汎用的なインライン要素を出力します。HTMLの<span>開始タグと等価です。
複雑な装飾や、ネストするような修飾をかけたいときに{{span_end}}と対で使用します。
- 非推奨の属性や、セキュリティ上危険と思われる文字列を含んでいる場合は、その属性を無効化して出力します。
- 属性は、全体をダブルクォーティション「"」で囲うと複数の属性が指定できます。但し、この場合、直前のカンマ「,」との間に空白文字を入れてはいけません。また、属性の右辺に空白を含めたい場合は、タブを使用して下さい。
- 単純な装飾用には、{{span 属性,要素}}も存在します。
{{span_begin style="font-weight:bold;"}}太字 {{span_begin style="color:red;"}}太字+赤文字{{span_end}} 太字{{span_end}}
↓ と書くと、次のように出力される。
<span style="font-weight:bold;">太字 <span style="color:red;">太字+赤文字</span> 太字</span>
span_end
HTMLの<span>終了タグを出力します。
{{span_end}}
汎用的なインライン要素の終了を出力します。HTMLの<span>終了タグと等価です。
複雑な装飾や、ネストするような修飾をかけたいときに{{span_end}}と対で使用します。
その他詳細は、{{span_begin}}を参照のこと。
sub
HTMLの<sub>タグを出力します。
{{sub 要素,属性}} {{sub 要素,"属性1 属性2"}}
下付き文字を出力します。HTMLの<sub>タグと等価です。
- 非推奨の属性や、セキュリティ上危険と思われる文字列を含んでいる場合は、その属性を無効化して出力します。
- 属性は、全体をダブルクォーティション「"」で囲うと複数の属性が指定できます。但し、この場合、直前のカンマ「,」との間に空白文字を入れてはいけません。また、属性の右辺に空白を含めたい場合は、タブを使用して下さい。
{{sub 下付き文字}} {{sub 下付き文字,title='これは下付き文字です'}}
↓ と書くと、次のように出力される。
<sub>下付き文字</sub> <sub title='これは下付き文字です'>下付き文字</sub>
sup
HTMLの<sup>タグを出力します。
{{sup 要素,属性}} {{sup 要素,"属性1 属性2"}}
上付き文字を出力します。HTMLの<sup>タグと等価です。
- 非推奨の属性や、セキュリティ上危険と思われる文字列を含んでいる場合は、その属性を無効化して出力します。
- 属性は、全体をダブルクォーティション「"」で囲うと複数の属性が指定できます。但し、この場合、直前のカンマ「,」との間に空白文字を入れてはいけません。また、属性の右辺に空白を含めたい場合は、タブを使用して下さい。
{{sup 上付き文字}} {{sup 上付き文字,title='これは上付き文字です'}}
↓ と書くと、次のように出力される。
<sup>上付き文字</sup> <sup title='これは上付き文字です'>上付き文字</sup>
blink
HTMLの<blink>タグを出力します。(携帯電話出力用)
{{blink 要素}}
ブリンクタグを出力します(文字が点滅表示されます)。HTMLの<blink>タグと等価です。
但し、本プラグインは携帯電話出力専用に利用されるものと考え、属性指定には一切対応しておりません。
- 本タグは、非推奨タグとされています。
- 携帯電話出力専用ですが、PC上でも出力されます。(PC上での動作確認等を考慮)
{{blink 点滅表示}}
↓ と書くと、次のように出力される。
<blink>点滅表示</blink>
font
HTMLの<font>タグを出力します。(携帯電話出力用)
{{font 属性,要素}}
フォントタグを出力します。HTMLの<font>タグと等価です。
但し、本プラグインは携帯電話出力専用に利用されるものと考え、カラー指定のみの利用できます。
- カラー属性は非推奨属性のため、事実上本タグは非推奨タグとなります。
- 携帯電話出力専用ですが、PC上でも出力されます。(PC上での動作確認等を考慮)
{{font color=red,赤文字で表示}}
↓ と書くと、次のように出力される。
<font color="red">赤文字で表示</font>
marquee
HTMLの<marquee>タグを出力します。(携帯電話出力用)
{{marquee 要素,属性}} {{marquee 要素,"属性1 属性2"}}
スクロール文字を出力します(文字がスクロール表示されます)。HTMLの<marquee>タグと等価です。
但し、本プラグインは携帯電話出力専用に利用されるものと考え、指定可能な属性はdirection,loop,behaviorのみに制限してあります。
- 本タグは、非推奨タグとされています。
- 携帯電話出力専用ですが、PC上でも出力されます。(PC上での動作確認等を考慮)
{{marquee この文字は左にスクロール表示されます。}}
↓ と書くと、次のように出力される。
<marquee>この文字は左にスクロール表示されます。</marquee>
任意のHTMLタグ(試験的リリース)
任意のHTMLタグを出力します。
{{html タグ名,属性,要素}} {{html タグ名,"属性1 属性2",要素}}
任意のHTMLタグを出力します。
本プラグインは試験的にリリースします。(使用するにはInstall.pmでコメント指定を解除する必要があります)
安全であるつもりですが、問題を発見された方はご報告お願い致します。
- 非推奨の属性や、セキュリティ上危険と思われる文字列を含んでいる場合は、その属性を無効化して出力します。
- 属性は、全体をダブルクォーティション「"」で囲うと複数の属性が指定できます。但し、この場合、直前のカンマ「,」との間に空白文字を入れてはいけません。また、属性の右辺に空白を含めたい場合は、タブを使用して下さい。
{{html a,"href='http://yahoo.co.jp' target='_blank'",YAHOO!JAPAN}}
↓ と書くと、次のように出力される。
<a href='http://yahoo.co.jp' target='_blank'>YAHOO!JAPAN</a>
ライセンス
GPL。ご自由にお使いください。
コメント
- class も使えるんですね。個人利用なら、ユーザ定義スタイルと併せて便利に使えそうですね。preタグを白黒反転させるのに、tagプラグインとcssの入れ子指定でしのいでみたのですが、、、、 - ichigoiruka (2004年11月24日 22時35分09秒)
- 「個人利用なら…」とのことですが、公開向けに使用するにはセキュリティ上問題ありそうですか?危険そうなものはチェックしてるつもりなんですが、他にどんなのが危険なのかよく分からないんですよね。 - あき (2004年11月25日 07時26分05秒)
- 「a」タグを追加しました。「tag2_rev02.zip 」です。 - あき (2004年11月27日 12時46分19秒)
- こちらのプラグイン導入しました。非常に使いやすいです。右寄せ・センタリングが出来るだけで大分見栄えが違いますね。 - blacksoup (2004年11月29日 19時10分30秒)
- ありがとうございます。他にも汎用的に使えそうなもの有れば言ってください。 - あき (2004年11月30日 14時07分48秒)
- イメージ(img,a_img)に画像ファイルが添付されているページ名を指定できるようにしました。当初は不要だと思ったのですが、MenuやHeaderに画像を貼り付けたい場合に必要でした。「tag2_rev03.zip 」です。 - あき (2004年11月30日 14時09分10秒)
- div_beginを使えばマルチカラムで遊べそう。CSS駆使して。 - 名無しさん (2004年12月01日 16時46分29秒)
- マルチカラムって言葉、初めて知りました。「TABLEタグで段組を模擬しちゃイケナイ」ってよく言われますが、その代わりがDIVタグでできたんですね。今後使っていきたいと思います。 - あき (2004年12月01日 19時21分06秒)
- 申し訳ございません。セキュリティ上かなり大きな問題を抱えてました。せっかく入れたはずのセキュリティ対策が半分役に立ってませんでした。申し訳ありませんが、皆さんアップデートして下さい。tag2_rev04.zip です。 - あき (2004年12月20日 21時48分02秒)
- 要望なんですが、javaアプレットを貼付けるタグには拡張可能なものでしょうか? - 名無しさん (2005年02月16日 19時42分46秒)
- 安全/危険の切り分けが簡単にできるようなら可能です。(速度面から)構文解析をしなければならないようなら不可です。現状では、危険となりうる要素を少しでも含んでいるようであれば、「とにかく無効」という扱いにしています。自由度≒危険度というのが私の認識です。 - あき (2005年03月06日 08時31分31秒)
- 使用用途としては、不特定多数の方にjavaアプレットのページへの貼り付けを許可するのが目的なのでしょうか?そうではなく、登録ユーザや管理者がページの見栄え向上か何かのためにjavaアプレットを組み込みたい、ということでしたら、HTML挿入プラグインの使用をご検討下さい。 - あき (2005年03月06日 08時31分42秒)
- imgプラグインですが,align=rightはできますが,align=centerができないようです.img単独で画像の中央揃えができると便利な気がします. - kasai (2005年06月24日 09時30分57秒)
- imgタグはalign属性が有るにはありますが、centerには対応していないようですね。元々HTMLタグを使えるようにするのが目的でしたので、「img単独で」というのは難しいです。 - あき (2005年06月26日 14時29分21秒)
- 了解しました.現在はBugTrack-plugin/43のdivプラグインとの合わせ技でやってます.あき様のdivプラグインと名前はかぶるのですが,あちらのdivはimgなどのプラグインにもalignが有効です.できれば,こちらのtag2プラグインセットでimgをalign center できれば.. と思いましてお聞きしました. - kasai (2005年06月27日 18時00分31秒)
- tag2プラグインにお世話になっております。質問ですが、imgタグで表示した画像がPDFプラグインではPDFに挿入されないのでしょうか?こちらが可能であると、大きさ等指定したPDFが生成でき大変便利であると考えています。 - かねこ (2005年07月06日 17時08分13秒)
- すみません。PDF用には作成してません。 - あき (2005年07月07日 17時29分26秒)
- 個人的に作ったプラグインがあるのですが、単発で提案するより、このプラグインに内包してもらうほうがわかりやすい気がして、こちらで提案させていただきます。何がおきるかはソースを見ていただければ一目瞭然なのですが、「テーブルを使ってただ単に四角で囲む」というものです。行の先頭に半角スペースを入れることでも囲みが出来るのですが、これではその中で見出しや太字が出ないため、つくったものです。文章を書いているとき、重要なところを囲みたかっただけです。また、HTMLがわからないユーザーにも使いやすいように簡単な表記としました。こんなんどうでしょうか。 - まー (2005年07月08日 01時26分54秒)
- 新しいバリエーションの書式としてはいいですね。ただ、こちらのプラグインに内包するのは少し外れるかな、と。なぜならこちらのプラグインはあくまでHTMLタグを意識してますので・・・。ですが、発想はいいと思います。もしよろしければ、別プラグイン集として公開させてもらっても構いませんか? 私は、FSWikiをCMS的用途に拡張するために、こういったもの(他のWikiには無い新しい書式)を作成していきたいな、と思っています。他にも、汎用的に使えそうな新書式(装飾機能)があれば、提案して頂けると嬉しいです。(但し、肝心の公開はまだ少し先になりそうです) - あき (2005年07月09日 04時33分37秒)
- 好きに使ってくださってOKです。 どうしてもこういうwikiとか知っていて設置しようと思う人間(わたしたち)ってそれなりに知識があるので、たとえば装飾はHTMLでいいじゃん、と思うことが多いと思いますが、そうじゃない、ライトユーザー同士の交流の場として設置するとなると、そういう機能を使ってもらうのは難しいので、プラグインの書式なども、ただコピペするだけで使えるような簡易なものがそろっているほうが、よいとおもいます。 - まー (2005年07月10日 00時53分48秒)
- すみません、自動リンクを一部の文字列について適用させないためにspanタグを使ってみたのですが、,で区切りをつける表中の文字に対して、うまく適用する方法はありますか?タグ内の,が表の項目区切りと判断されてしまいます。 - 名無しさん (2005年07月17日 14時51分16秒)
- $invalid_str_listにonloadも追加した方が安全と思います。 - ryon (2005年07月17日 17時26分10秒)
- 「表中の文字に対して・・・」は現状対応は難しいかもしれません。頑張ってはみます。改良無しでは不可です。 - あき (2005年07月17日 18時31分17秒)
- と書きましたが、やはり難しいです。将来的にも不可とは言いませんが、現状片手間の修正では対応できません。いろいろなパターンを考えると改造コードが多くなってしまいます。「"」〜「"」や「'」〜「'」に含まれる「,」だけを正確に何か別の文字に置換できると良いのですが、「"」〜「'」〜「"」〜「'」のように書かれている場合や、「"」や「'」の前に「\」を入れてエスケープしようとしている場合など、様々なケースを考えると際限がなくなってしまいます。Superな正規表現が書けると魔法のようにできてしまうのでしょうが、現状私の力はそれに及びません。 - あき (2005年07月18日 14時59分16秒)
- 見つけました。Perlのレシピ集に載ってました。 - あき (2005年08月26日 15時45分43秒)
sub perse_csv { my $text = shift; my @new = (); push(@new, $+) while $text =~ m{ "([^\"\\])"*(?:\\.[^\"\\]*)*)",? | ([^,]+),? | , }gz; push(@new, undef) if substr($text, -1, 1) eq ','; return @new; }
- また、標準モジュールのText::PerseWordsにもquotewordsというほぼそのまんまのものが存在しました。対応を検討します。・・・にしても、本当に魔法のような正規表現です。 - あき (2005年08月26日 15時49分13秒)
- 「onload」に限らず、「on〜」に関しては禁止を検討しましたが、いろいろ悩んだ末、「いや、大丈夫だ!」と判断し禁止対象から外しました。「JavaScriptだから危険」などという単純な判断はしたくなくて、具体的にどんなコードが危険なのか調査しました。結果、具体的なコードを記載する際に必ず使用するであろうscriptやfunctionを禁止語句とすること、それから、外部URLのスクリプトが実行できてしまうurl、暗号化されると文字列マッチングではチェックできなくなるのでevalやunescapeを禁止語句としました。これで、問題ないだろう、という判断をしたのですが、他にもまだまずいパターンがありますでしょうか?又は、禁止語句を設けるくらいでは防ぎきれないほどJavaScriptそのものが危険でしょうか?XSSについて、かなり詳しい方のご意見をお伺いしたいです。 - あき (2005年07月17日 19時13分06秒)
- 携帯電話でアクセス時に、「電話をかける」ためのアンカープラグインを追加してみました。tag2_ex.zipです。 - A_M (2005年09月11日 08時21分12秒)
- BR タグやDIVの開始タグに回り込み解除のためのclear属性を許可すると、GeckoエンジンでのCSSデザインに幅が出ると思います。 - A_M (2005年10月07日 17時30分13秒)
- clear属性は非推奨らしいということが分かりましのたので対象から外しました。style属性で何とか代用できますので私はそうしています。style属性で代用利きませんか? と、思ったのですが、BRタグだけは何故か属性そのものに対応してませんね。 - あき (2005年10月07日 19時57分53秒)
- CSSを調べると、style属性内でclear:both;等でした。…文法重視の方が、後のトラブルも少ないと思うので、どのタグで代用するか悩みます:< - A_M (2005年10月08日 01時36分17秒)
- {{br}}タグについて BugTrack-plugin/162 のプラグインとの併用で、PDF出力時にソフトウェアエラーの発生を確認しました。 エラーメッセージではBugTrack-plugin/162 のプラグインを指し示しているため、そちらで詳細を報告しております。一応こちらでもご報告いたします。 - テトラン (2005年11月11日 10時21分31秒)
- {{br}}プラグインの件は、BugTrack-plugin/162の方で対応しました。 - KG (2005年11月11日 13時14分48秒)
- すみません。 tag2 の A プラグインですが、リンクの設定をするときに
return "<a$output_attribute href=$link>$disp_name</a>";
- のような感じにしていますが、
return "<a href=\"$link\"$output_attribute>$disp_name</a>";
- としていないのは何故なんでしょう?(普通、 href 属性の方が先に書くことの方が多く、また href 属性は普通は ダブルかシングルのクォーテーションで囲みます) - 名無しさん (2006年01月24日 00時19分19秒)
- ご指摘ありがとうございます。率直にお答えしますと、深い意味はありません。結果が欲しくて作成したプラグインでして、バグと同レベルだと考えて頂いて結構です。自分で作成しておきながら、「WikiなのにわざわざHTMLタグを使うなんて…」というジレンマがあり、メンテナンスが億劫になってました。冒頭で「現状、ソースは精査できていないので…」書いて以来、そのままになってました。(恥ずかし過ぎる程の)バグも何点か発見しています。近々、前面的に見直して再アップしたいと思っています。 - あき (2006年01月24日 00時48分49秒)
- よろしければこちらのコメントなんかも参考に…。 - あき (2006年01月24日 07時59分09秒)
- このプラグインは Wiki でちゃんとできない部分を補うのに便利なのでありがたいです。 - 名無し (2006年01月25日 00時00分16秒)
- 長らくお待たせ致しました。初版をフライング気味にリリースした後、「WikiなのにHTMLタグだなんて…」という葛藤が生じてしまい、なかなかメンテナンスする気になれないでいました。今回の修正ですが、セキュリティ面を中心に、ソースの全面的見直しを行いました(というか、殆ど一から作り直しました)。過去の版には二重三重に施したセキュリティ対策に機能していない部分が有りました。危険ですので、これを読まれた方は、(とても恐れ入りますが、)どうか最新版(tag2_rev05.zip(1102)以降の版)にアップして下さい。ただ、今回は殆ど作り直したに近いですので、まだ確認が漏れている箇所があるかもしれません。「以前と動きが違うぞ!」等、気になる点を発見された方はどうかご一報下さい。極力すぐに対応致します。また今回は新規タグの追加も行いましたが、それ以外にも機能の拡張もいくつか行ってあります。今まで不便に感じていた部分も、ひょっとすると改善されているかもしれません。ご興味の有る方は、上記詳細説明をご覧になってご確認下さい(使用方法の説明も充実させています)。それから、今回はHTMLの任意のタグが出力できるプラグイン{{html タグ名,属性,要素}}も追加してあります。現時点ではコメント化してありますが、コメントを外して使用して頂いても構いません(セキュリティ的に少し自信が無いので念のためコメントアウトしてあります)。セキュリティ関連の知識を豊富にお持ちの方、又はご興味のある方がいらっしゃいましたら、問題が無いか確認して頂けると嬉しいです。問題が無ければ正式にリリースしたいと思います。 - あき (2006年01月31日 02時07分46秒)
- div_block を追加しました。tag2_rev07.zip(3658) - あき (2006年02月05日 20時19分02秒)
- こちらのプラグインは便利に使わせてもらっています。ところで例えば{{div_begin style="font-size:large"}}…(複数行)…{{div_end}}などとしたときなんですが、私の環境だけかもしれませんがFirefoxとIEとで表示されるフォントの大きさが異なるんです。IEのほうが大きくなります。他の方は問題ないのかな? - ふる (2006年02月17日 03時56分59秒)
- あ、個人的にはFirefoxの表示のほうが正常として書いているので、IEの人向けにそっちに文字の大きさを合わせられるような方法があるのでしょうか? ということです。もしかしたら属性の指定方法が間違っている? - ふる (2006年02月17日 04時00分03秒)
- IEの方が大きく見えるというのは、みんな同じだと思います。ブラウザによって見た目が異なるのは、「そういうもの」だと納得するしかないです。「どうしても…」ということであれば、絶対的なサイズ指定(px、pt等)で指定する方法なんかもあります。ただ、「フォントサイズは相対的なサイズで指定すべき」という考え方もありますので、言い切るのは難しいですね。とりあえず、「large」はやめて、「%」で指定してみるというのははいかがでしょう?「large」は、ブラウザによっては標準と大きさが同じだったりするものもありますが、「%」指定なら、確実に標準と大きさが異なるはずです。(但し、ブラウザにも表現に限界がありますので、指定する倍率によっては変化がない場合もあります) - あき (2006年02月17日 07時33分44秒)
- 了解しました。御面倒おかけして申し訳ありませんでした。とても参考になりました。%は気がつかなかったです。 - ふる (2006年02月18日 02時05分59秒)
- %で指定したらFirefoxでもIEでも(ほぼ)まったく同じように表示されました! 助言を本当にありがとうございました! - ふる (2006年02月18日 02時38分30秒)
- リンクを新しい窓で開きたく、このプラグインをインストールしたのですが、「使用するにはInstall.pmでコメント指定を解除する必要があります」の意味がわかりません。どうすればいいのか、教えてください。 - わたる (2006年08月31日 18時03分10秒)
- すみません。書き込みに今気付きました。「使用するにはInstall.pmでコメント指定を解除する必要があります」は、任意のHTMLタグ(htmlプラグイン)を使う場合の注釈です。従いまして、aタグ(aプラグイン)や他のタグを使う分には気にしなくて構いません。ちなみに、HTMLソースと、aタグ(aプラグイン)を使った場合の記法、任意のHTMLタグ(htmlプラグイン)を使った場合の記法の違いは次のとおりです。 - あき (2006年09月04日 13時28分27秒)
HTMLソース
<a href='http://yahoo.co.jp' target='_blank'>YAHOO!JAPAN</a>
aタグ(aプラグイン)
{{a YAHOO!JAPAN|http://yahoo.co.jp}}
任意のHTMLタグ(htmlプラグイン)
{{html a,"href='http://yahoo.co.jp' target='_blank'",YAHOO!JAPAN}}
- ということで質問に対する回答ですが、任意のHTMLタグ(htmlプラグイン)を使用したい場合は、tag2/Install.pmの33行目の行頭の文字「#」を削除して頂ければ利用できます。 - あき (2006年09月04日 13時29分01秒)
- リンク:BBS-サポート掲示板/994 - KG (2017年07月24日 19時19分36秒)
最終更新時間:2017年07月24日 19時19分36秒