Backport(バックポート) #1439
完了
#975の修正で正規表現のマッチングが不十分である
Mutsumi Imamura さんが14年以上前に追加.
14年以上前に更新.
説明
#1227のテスト中に下記の再現方法のように文章を入力したところ、文字装飾タグの補完が行われずにフッターなどに文字粧飾が反映されてしまう。
再現環境¶
発生バージョン
- OpenPNE3.2.7-dev
- OpenPNE3.4.6-dev
- OpenPNE3.5.2-dev
再現ブラウザ
- IE8
- IE7(IE Tester)
- IE6(IE Tester)
再現方法¶
日記本文に
<op:b>てててて:b>
<op:u>てててて</u>
<op:s>てててて</p:s>
<op:i>てててて<op:i
<op:font size="5">てててて</opnt>
<op:font size="1">てててて</oont>
<op:font color="#FF0000">ててててp:font>
てててて
などと入力し日記を作成する。
作成した日記をIEで確認する。
#975での修正で追加された正規表現のマッチングに漏れがある
修正内容¶
関連するチケット
3 (0件未完了 — 3件完了)
- ステータス を New(新規) から Accepted(着手) に変更
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
- 正規表現の
(?:<)
(?:>)
の括弧と修飾子の i
が不要です
- foreach ($countStartTags as $k => $v) の中で、 $countEndTags[$k] が定義されていない場合に Notice となります。また、未定義かどうかを検証した場合には int へのキャストも不要です
- Description にある再現方法の例で、改行前の
<op:i
が正しく変換されないのは今回の変更点とは関係ないですが別のバグとして修正の必要があるでしょう
壊れたopタグの後に改行を含む状態で正しく変換されない問題は #1452 で修正します
- ステータス を Rejected(差し戻し) から Pending Review(レビュー待ち) に変更
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
他の形式にエクスポート: Atom
PDF