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"
参考
使用したツール
使用したツールは以下からダウンロードできます。
- 出版社/メーカー: VAP,INC(VAP)(D)
- 発売日: 2008/12/21
- メディア: DVD
- 購入: 1人 クリック: 88回
- この商品を含むブログ (7件) を見る