2

(たとえば、PHP dom マニピュレーターを使用する代わりに) 正規表現を使用した特定の html 操作の落とし穴/危険性を認識しながら、私はかなり単純でそれほど危険ではないものを達成しようとしています。

基本的に、段落を使用せずに改行タグを使用して段落の効果を生成する、データベースからのクリーンアップされていない html コピーがあります。ユーザーが単一の改行でコンテンツを入力しただけで、テキスト行が返されても空白行が表示されない場合があります。そのような場合、そのような場合にのみ、そのシングル<br>を 2 つに置き換えたいと思います ( <br><br>)。

では、例として…

This is <br>a test<br><br>example!  

になるだろう

This is <br><br>a test<br><br>example! 

2 番目のブレーク セットは、既に 2 つのタグを取得しているため、そのままにしておくことに注意してください。

4

2 に答える 2

3

これを解決するには、否定先読みと後読みを使用できます。

(?<!<br>)<br>(?!<br>)

ここで例を参照してください: http://rubular.com/r/WYjoenH1SA

(?<!NOPREFIX)
(?!NOPOSTFIX)

が存在する場合、最初の部分は一致を防ぎますNOPREFIX- が存在する場合、2 番目の部分NOPOSTFIX

于 2013-05-28T14:40:19.457 に答える