バックエンドでWYSIWYGエディタを使用してフラッシュアプリケーションを開発しました。 より多くの機能をエディタに提示する必要がありますので、私たちはWYSIWYGでカスタムタグ<をもっと開始> ... </end more>に入れることにしました。PCRE正規表現:文字列を含まない
すべてのHTMLは解析され、XMLに変換されますが、Flash内のポストに多くのコンテンツを表示するために、カスタムフェードエフェクトに変換するために、より多くのタグを開始/終了する必要があります。
ここでは、XMLの出力例を示します。この式は<文字列により開始>と最初<の端より>最初のキャプチャより開始し、多くの
/(<start more>){1,1}(.+?)(<end more>)/
を終了得るために
Some text outside <start more> some text inside</end more>
some other text <start more>1 and some random stuff <start more>2 and
thing </end more>2 and random stuff </end more>
正規表現。私は内部のほとんどのタグを取得するために否定的な先読みのアサーションをしようとしました。動作しません。
希望します。問題を説明できないかどうか教えてください。
ここでは一番内側のペアのみをキャプチャする例を示します。http://rubular.com/r/4p8jGiepW5 – Kobi
回答と例をありがとう。コードから「more」を削除しました。「(((?!?/ end | start)>)))+)<\/end>は完璧に動作しています。他のHTMLパーサー(私はPHPのdomdocumentを試しました)を使用しない理由は、コンテンツを取得しようとすると、すべてのネストされたhtmlタグを取り除くことです(すべて太字、斜体など)興味のある人はhttp://pk.dynamiconlinesystems.com/mc_main/、まだ進行中です。 –
解析されたHTMLの内容を取得する代わりに、必要な部分をHTMLシリアライザで書き出す必要があります。 – OrangeDog