Categories: R10コンピュータ

記事の個別引っ越しはどうしよう!?

WordPressでのサイトの引っ越しはサイト丸ごとの引っ越しは楽々なのですが、記事の個別は移動は手間がかかりそうです。

記事エクスポート自体はWordPress自体にXMLで出力する機能を持っているようです。
XMLのインポートはwordpress importerプラグインを導入すると記事単位でインポート/エクスポート可能とのこと。

しかし、文字以外のデータは個別に引っ越ししなければいけないようなので、
自動で画像URLを抽出するマクロを作ってみました。

何だか非効率な正規表現ですが、サクラエディタのマクロではこんな感じでいけそうです。

//+++ WordPress4.1 からエクスポートした記事から画像パスのみ抽出マクロ v.1
S_ReplaceAll('\n', '\r\n', 60); // すべて置換
S_ReDraw(0); // 再描画
S_ReplaceAll('^((?!/wp-content/[\w/:%#\$&\?\(\)~\.=\+\-]+).)*$', '', 60); // すべて置換
S_ReDraw(0); // 再描画
S_ReplaceAll('^\r\n', '', 60); // すべて置換
S_ReDraw(0); // 再描画
S_ReplaceAll('^\n', '', 60); // すべて置換
S_ReDraw(0); // 再描画
S_ReplaceAll('^\r', '', 60); // すべて置換
S_ReDraw(0); // 再描画
S_ReplaceAll('(wp-content[a-zA-Z0-9/_".-]{1,64})', '$1\n', 60); // すべて置換
S_ReDraw(0); // 再描画
S_ReplaceAll('^((?!/wp-content/[\w/:%#\$&\?\(\)~\.=\+\-]+).)*$', '', 60); // すべて置換
S_ReDraw(0); // 再描画
S_ReplaceAll('(.+)(wp-content[a-zA-Z0-9/_".-]{1,64})(.+)', '$2', 60); // すべて置換
S_ReDraw(0); // 再描画
S_ReplaceAll('^\n', '', 60); // すべて置換
S_ReDraw(0); // 再描画
S_ReplaceAll('\r', '', 60); // すべて置換
S_ReDraw(0); // 再描画
S_SelectAll(0); // すべて選択
S_SortAsc(0); // 選択行の昇順ソート
S_Merge(0); // 連続した重複行の削除(uniq)

改行コードをWindowsで扱いやすいようにCR+LFに変換。

画像パスのない行をフィルタし改行のみの空行を削除
1記事複数の画像が使われている可能性があるので、画像パス毎に改行挿入
改行した行に画像パスがない場合、行を削除
画像パス部分のみを抽出し、改行のみの行を削除
画像パスをソートして重複行を削除して完了

ここで出来た画像パス一覧をインターネットにつながったマシンからセーブするPHPスクリプトを作って自動保存予定です。

とりあえずインターネットに接続されたマシンでPHPスクリプトを実行させて実験してみます。

さてさて、上手くいくかな^^;;;

kabekin