東京生まれHOUSE MUSIC育ち

悪そうな奴はだいたい友達なの?

wordpress時代の負債を返済する

https化に伴う混在コンテンツ対応作業で、wordpress時代の負債をよく目にするようになりました。

過去ドメインのリンク先が多い

昔使用していたwordpress時代のドメインが記事の中に出てくるのを発見しました。

以下のように画像のリンク先が、昔使用していたwordpress時代のblogURLになっているのです。

<a href="wordpress時代の過去ドメインリンク先><img はてなのドメイン></a>

気づいてはいたのですが、面倒なのでほとんど手をつけてなかったんです。ですが、混在コンテンツの対応でのノイズになりがちなので、なんとかしようと考えました。

正規表現で対応

手作業だとツライので機械的に対応するようにします。

ツール「ReplaceContentText」を使用して置換します。アンカータグは削除したいのですが、はてなドメインのイメージタグは残したいので、正規表現を使用して置換しました。

power shellにおけるエスケープはバックスラッシュ「`」というのがわからずに、悩みました。「$」の前にバックスラッシュを入れています。

また、表示している画像が過去ドメインとなっている場合もあるので、アンカータグで閉じる場所は最短マッチを使用しないようにしています。(テストして最短マッチじゃない方がうまくいくことがわかりました)

ReplaceContentText.exe --id padobure --blog-id <blogid> --api-key *** --regex --from "<a href.+「過去ドメイン」.+?>(.*?)<\/a>" --to "`$1"

さらに追加のオプションでwinmergeと連携して、事前に差分を確認することができます。差分が出るとwinmergeが起動して、確認した後にwinmergeを閉じないといけなくて面倒です。こういう記事が300件ありますので。

ですが、それでも事前確認できるのは有効だと感じます。

--diff-cmd "C:\Program Files\WinMerge\WinMergeU.exe"

参考

qiita.com

使用したツール

使用したツールは以下からダウンロードできます。

smdn.jp

正義の味方 DVD-BOX

正義の味方 DVD-BOX