0

私はこのようなhtmlタグを持っています:

<p class=MsoNormal align=center style='margin-top:1.0pt;margin-right:0in;margin-bottom:1.0pt;margin-left:0in;text-align:center;text-indent:0in;line-height:115%;text-autospace:none'>Something</p>

今、私はそれをこのようにしたいと思います:

<p style='text-align:center;'>Something</p>

どうすればいいですか?

4

1 に答える 1

0

正規表現にタグを付けたので、あなたが言ったことに基づいて一致して置換する正規表現の置換を次に示します。

<p class=MsoNormal [^>]*style='[^']*(text-align:[A-Za-z]*;?)[^']*'>(.*?)</p>

置換:

<p style='$1'>$2</p>

それは特に効率的ではなく、必ずしも最善の方法でもありません。<p>タグに別のネストされたものが含まれていると、微妙なバグが発生します<p>(これは有効なマークアップではないと確信していますが、とにかく言及するのが最善だと思います) 。合わせようとしています。</p><p>

styleもう 1 つの潜在的なバグは、要素内にネストされたエスケープされた一重引用符( style='attr=\'value\';text-align:center;'. これは、より複雑な正規表現で修正できますが、かなり読みにくくなるリスクがあります。

私の意見では、JavaScript を使用した NiftyDude の提案など、解析を含むソリューションの方がはるかに優れています。

于 2012-05-17T11:11:25.367 に答える