2012-04-18 1 views
1

私のクライアントの古いmysqlデータベースを新しいワードプレスシステムに移しています(古いものもwpでした)、彼の記事はすべてトンとたくさんのHTMLで保存されています。<p></p> MS Wordから直接コンテンツをインポートするため、さまざまなスタイルのタグが付いています。私はすでに、WordからPasteを使用し、新しい記事を保存する前に記事の後にクリーンアップするようクライアントに説得しました。古いデータベースをHTMLタグで整理する

すでに保存されているタグ<p style="different_styles_every_time"></p>をすべて削除するには、ごみ箱を残さずに元の改行を残しておいてください。

私はregexについて研究し始めましたが、ここではHTMLを解析するために使用することを推奨しています。すべての手がかりは?

答えて

1

これは、類似のDB状況(htmlが格納されている)から「プリレンダリングクリーンアップ」プロセスで使用する安全なプロセスです。残念ながらJavaで書かれていますが、概念(および正規表現が使用されます) 。

私はこれを行う前にバックアップするだけでなく、安全なバージョンのDBでテストすることをお勧めします。もちろん、このサイズの更新手順では、すでにリスクを知っている可能性があります。ノートの

を「HTMLのブロックをきれいにするには、」文字列リテラルとして解釈ではなく、displayContentは、DBのHTML結果を保持する変数である」と言ってばかりのノート、この場合はただ1すべきではありませんループ内の結果セットの繰り返し。

String displayContent = "THE BLOCK OF HTML TO CLEAN"; 
String tagregex = "<p[^>]*>"; 
Pattern p2 = Pattern.compile(tagregex); 
Matcher m2 = p2.matcher(displayContent); 
displayContent = m2.replaceAll(""); 
displayContent = displayContent.replaceAll("</p>", ""); 

あなたはもちろん、他のHTMLタグ+その属性のためにこれを使用することができます。幸運を!

+0

私はこれは実際にそれを行うだろうと思います。 '] * >私は大部分が恐れていたので、私のニーズにうまくいっているようです。ありがとう! – moraleida

+0

ええ、実際には、ロールバックの短い更新クエリの後に戻って行くことはありませんhahaha - うれしかった! –

関連する問題