1

<p></p>クライアントの古いmysqlデータベースを新しいワードプレスシステムに移動しています(古いものもwpでした)。コンテンツを直接インポートするため、彼の記事はすべて、さまざまなスタイルのHTMLタグが大量に保存されていることに気付きました。マイクロソフトワード。私はすでにクライアントにPasteFromWordを使用し、新しい記事を保存する前に彼の記事をクリーンアップするように説得しました。

<p style="different_styles_every_time"></p>さて、ゴミを残さずに、できれば元の改行を残さずに、すでに保存されているすべてのタグを削除する安全な方法はありますか?

私は正規表現の調査を開始しましたが、ここでの多くの回答は、HTMLの解析に正規表現を使用しないようにアドバイスしています。手がかりはありますか?

4

1 に答える 1

1

これは、同様のDB状況(htmlが保存されている)からの「レンダリング前のクリーンアップ」プロセス中に使用する安全なプロセスです。残念ながらJavaで記述されていますが、概念(および使用される正規表現)はSQL更新クエリに適用できます。

注意点として、これを行う前にバックアップするだけでなく、「安全な」バージョンの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タグとその属性に使用できます。幸運を!

于 2012-04-18T17:42:55.877 に答える