操作
Backport(バックポート) #1452
完了壊れたopタグの後ろに改行が含まれると意図しないタグが作成される
開始日:
2010-07-29
期日:
進捗率:
100%
予定工数:
説明
現象¶
<op:b>てててて<op:b <op:u>てててて<op:u <op:s>てててて<op:s <op:i>てててて<op:i <op:font size="5">てててて<<op:font <op:font size="1">てててて</oont> <op:font color="#FF0000">ててててp:font> てててて
↓ HTML タグに置換後
<span class="op_b">てててて<span class="op_b<br"> <span class="op_u">てててて<span class="op_u<br"> <span class="op_s">てててて<span class="op_s<br"> <span class="op_i">てててて<span class="op_i<br"> <span class="op_font" style="font-size:large">てててて<<span class="op_font<br"> <span class="op_font" style="font-size:xx-small">てててて</oont><br /> <span class="op_font" style="color:#FF0000;">ててててp:font><br /> てててて</span></span></span></span></span></span></span></span></span></span></span></span>
原因¶
バグが発生した原因を記入
修正内容¶
正規表現を op: の後を 文字数字ハイフンとし 属性の中は 開始タグ以外の文字列とマッチするように修正
正しい結果:パターン <op:[改行] → そのまま表示される <op:i color="[改行]#333333"> → そのまま表示される <op:<op>aa> → そのまま表示される <op:i<op:i> → <op:i のみ表示される <op:font color="<op:s>"> → <op:font color=""> 最後の "> に打ち消し線
Shinichi Urabe さんが14年以上前に更新
- ステータス を New(新規) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 b5f951632d2e9712b22d749695fbebc9a4a4ea8a で適用されました。
Rimpei Ogawa さんが14年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
<op:i<op:i>↓
<span class="op_i<op_i"></span>となってしまいます。
Shinichi Urabe さんが14年以上前に更新
- ステータス を Rejected(差し戻し) から Pending Review(レビュー待ち) に変更
更新履歴 4eecc88f5999e6fdac689b86381f32e32987ac49 で適用されました。
Rimpei Ogawa さんが14年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
[^(?:<.?>)]
は [^]
内の文字を除外しているだけです。 :
が含まれているので op:i に引っかからずたまたま上手くいっているだけです。
修正前が上手くいっていないのは $string
が <op:i<op:i>
だからです。
Shinichi Urabe さんが14年以上前に更新
- ステータス を Rejected(差し戻し) から Pending Review(レビュー待ち) に変更
更新履歴 ee682d4c93c6d627bb32b52c00fcadfc16f7dc73 で適用されました。
Shinichi Urabe さんが14年以上前に更新
- ステータス を Rejected(差し戻し) から Pending Review(レビュー待ち) に変更
更新履歴 bf92c6aecade2a797b9cb16e25ef2816d8d2022a で適用されました。
Rimpei Ogawa さんが14年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
以下の部分が不要ではないかと思います。
op:\w+?
の?
(op:\w+?)?
の最後の?
(?:(?!<|<).)*?
の最後の?
Shinichi Urabe さんが14年以上前に更新
- ステータス を Rejected(差し戻し) から Pending Review(レビュー待ち) に変更
更新履歴 18ef45f2f8400f689a7c352e27adca9efd710e6c で適用されました。
Rimpei Ogawa さんが14年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Mutsumi Imamura さんが14年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
操作