memoプラグイン: カンマ以降の文字が消える / ダブルクォートで囲んだ場合、ダブルクォートが消える†
- 元タイトル: memoプラグインでンマ以降の文字が消える
- ページ: BugTrack
- 投稿者: にぶんのに
- 優先順位: 重要
- 状態: 完了
- カテゴリー: プラグイン
- 投稿日: 2004-07-24 (土) 19:23:54
- バージョン: 1.3.x, 1.4,x
メッセージ†
official:質問箱/358 より。
- 現象1
- memoプラグインの入力内容に半角カンマが存在していた場合、それ以降の文字が表示されなくなる。
- 影響範囲
- 1.3.x および 1.4.x
- 原因
- memoプラグインは入力内容を自身の引数として保存するが、表示の際には二番目以降の引数を無視してしまう。入力内容に半角カンマが存在すると、それ以降が二番目以降の引数として扱われてしまうので、表示されなくなってしまう。
- 対策
- 複数の引数を許容すればよい。具体的には複数の引数をカンマで連結して扱えばよい
追加 -- にぶんのにさんの指摘により、henoheno記す
- 現象2
- memo("コメント1","コメント2") の様に、引数を囲む形でダブルクォートがあった場合、周囲のダブルクォートが消えてしまう (結果は「コメント1」「コメント2」というデータだけが渡される)
- 影響範囲
- 1.4.x
- 原因
- プラグインの仕様のため、周囲のダブルクォートがプラグインに渡されない
- 対策
- ダブルクォートをエスケープすることで、textareaから編集するぶんには回避できる
- 現象3
- ダブルクォートがあった場合、書き込む度にダブルクォートの左隣に"\"が挿入される
- 影響範囲
- 1.3.x
- 原因
- プラグインの古い仕様と思われる
- 対策
- ダブルクォートをエスケープすることで、textareaから編集するぶんには回避できる
- バグっぽい挙動なので、遅ればせながら挙げておきます。 修正案はofficial:質問箱/358にありますが、BugTrack/534 を考慮してダブルクォートも変換した方が良いかもしれません。 -- にぶんのに
- お知らせありがとうございます。大きく分けて問題は二つある様です。一つはいくつかの文字をエスケープすべきだという点。もうひとつはmemoが引数を全部ケアしてくれないという点です。 -- henoheno
- ということで、1.4についてはこれで良さそうです。 -- henoheno
- カンマのエスケープは冗長なんですが、エスケープする様にしておけば、プラグインの引数の仕様が変更されても大丈夫にはなるので、まあいいかな?といったところです。 -- henoheno
- 1.3の場合も同様の対応が必要ですね。カンマ以降が消えます。また、ダブルクォートについてはそれがある場所に関わらず、書き込むたびに \ が左側に追加されて行きます・・・ -- henoheno
- これで1.3も良さそうです。 -- henoheno