2012-04-16 4 views
0

Drupalに移行しようとしているブログからかなり大きなWordPressの.XMLエクスポートファイルがあります。エクスポートファイルで目立った問題の1つは、段落区切りのタグが<p>不足していることです。ただし、タグは実際のサイトに存在します。グローバルRegEx検索と置き換え、XMLエクスポートファイルでHTMLを修正しますか?

XMLファイルの生のテキストからわかるように、単一の<p>タグがあったはずの段落間に改行が複数あります。私は、RegExを使用して改行と大文字があるところで、<p>タグをグローバルに追加することを望んでいましたが、その仕組みの実際の知識はありません。問題のテキストが含まれているエクスポートファイルのサンプルXMLタグは次のとおりです。

<content:encoded><![CDATA[Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur gravida risus at sem interdum iaculis. Curabitur eget est tellus, quis viverra arcu. 


Cras posuere turpis imperdiet odio aliquet sollicitudin. Maecenas et neque eget quam fringilla tempor. Vivamus sodales vulputate consectetur. 


Sed ullamcorper elementum est, at dapibus orci fermentum vitae. Vivamus nisi turpis, pretium sed tincidunt et, dapibus at eros. Quisque neque magna, posuere eget eleifend ut. 

あなたは上から見ることができるように、段落どうあるべきかの間で複数の改行があります。私はRegExのための改行/大文字の組み合わせを考えていたので、<p>タグを1つだけ入れて、具体的には<content:encoded> XMLタグをターゲットにして、XMLファイルのどこかにタグを追加しないようにしました。物事をもっと複雑にするためのもう1つの問題は、のようなカスタムクラスでエディタが追加された段落には既に<p>タグがあることです。

+0

これをDrupalにどのようにインポートしていますか?書式設定に応じて、Drupalは改行を段落として扱うことができます。これは、それ以上のマークアップは不要です(例: 'Filtered HTML')。私はそれを試してみましょう - あなたが本当にそれをマークする必要がある場合は、XMLパーサー/ビルダーは、より良いアプローチです... –

+0

私はWordPressのマイグレーションモジュールを使用していますが、このため。私はそれを試しに実行し、実際には、drupalで作成されたpタグはありません。そこにはXMLファイルには何もありません。ある場合は、タグがインポートされます。私はこれに簡単な解決策がないと感じているが、私は試してみると思った。 –

答えて

1

この問題は以前のStackOverflowで議論されました。問題はWordPressがデータベース内にpタグを保存していないことです(WYSIWYGエディタを使用している場合)、これらのタグは(休憩の代わりに)wpautop()関数によってレンダリングされて作成されます。そこで私はexport.phpファイル(WP 3.4.1を実行)を編集し、そこに関数を追加しました。 see the result on Pastebin(変更は375と376行にあります)。

<content:encoded><?php echo wxr_cdata(apply_filters('the_content_export', wpautop($post->post_content))); ?></content:encoded> 
<excerpt:encoded><?php echo wxr_cdata(apply_filters('the_excerpt_export', wpautop($post->post_excerpt))); ?></excerpt:encoded> 

あなたが/wp-admin/icludes/export.phpし、再びエクスポートを実行し、ファイル内の[ルート]を全体のコードをコピーして貼り付けることができます。ファイルをバックアップするのを忘れないでください。他のバージョンでも動作するとは限りませんが、エクスポートの編集方法を知ることができます。

関連する問題