WordPressのプラグイン、Search Regexの覚書です。
(追記)久しぶりに使ったらSearch Regex結構、怖いツールになっていますね。。
Contents
search regexの置換・削除
基本的な使い方は次のとおりです。該当の文字列を置換・削除する場合、次のように検索します。
- ツール > Search Regex
- 検索にキーワードを入れて[検索]
- 検索されたものが正しいか見ます。
- 操作は[全体の文字列を置換]のまま
- [置換用の文字列を入力]は何も入力しない
- [更新]する。更新はプレビューです。
- [すべて置換]を押す
削除する場合は、セレクトボックスは[ 単一業 ] から[ 削除]に変更します。置換の場合は[ 単一業 ] のままでOKです。
「投稿タイプ」と「本文」の検索の違いはぱっと見わかりませんでしたが、「投稿タイプ」にすると、その名前のとおり「投稿タイプ」が選べます。「投稿」と「固定ページ」を選択すると「リビジョン」が外れるので便利です。リビジョンまで置換すると結果が長くなるため、見にくいので外しています。
ただ、英語の場合、URLや画像のURLまで置換してしまうため注意が必要です。
Search Regexの一致項目を削除はやばい!
[全体の文字列を置換]から[一致項目を削除]にできますが、この機能は文字列の削除ではありません。
この機能はDBから記事を丸ごと削除しますね。100件ひっかけってまるまる実行したら記事が100記事消えるということです。一瞬、一致した文字列を削除するような和訳に見えますが、違います。。怖いですね。
「このデータベース行を削除」をクリックすると記事が削除されます。こちらも記事を削除する場合以外で消さないようにしましょう。
万が一、消してしまったらバックアッププラグインで復元するしかありません。エックスサーバーなら自動バックアップ機能もあります。

search regexの置換で削除できない
Something went wrong
Unexpected token ‘<‘, “<!DOCTYPE “… is not valid JSON (SyntaxError)WordPress returned an unexpected message. This could be a PHP error from another plugin, or data inserted by your theme.
REST API:
良好
次はどうしますか?
キャッシュのソフトウェア、特に Cloudflare は、間違ったものをキャッシュする可能性があります。一度すべてのキャッシュを削除してみてください。
一時的に他のプラグインを無効にしてください ! これにより、いくつかの問題が修正されるはずです。
WordPress 5.2以降を使用している場合は、サイトヘルスを確認して問題を解決してください。
Debug Information
置換したらエラーが発生しました。
ちなみに、置換は完了していましたが、エラーが発生したようです。
個人的に原因はWP Fastest Cacheというプラグインでした。外したら2回目の置換からエラーがでなくなりました。なお[進行状況]は0%で固まったように見えることもありますが、一気に進む場合もあります。少し気長に待つといいかもです。
正規表現の最短マッチでurl置換(Search Regexでスラッシュをひっかける)
urlにカテゴリ名が挟まっていたのですが、任意のカテゴリ名を正規表現の置換で除去しました。覚書として残しておきます。
正規表現で次の置換を行います。
http://aaa.com/tokyo/100
http://aaa.com/kanagawa/101
↓上記を下記のようにしたいわけですね。
http://bbb.com/100
http://bbb.com/101
tokyoやkanagawaなどの任意の文字列をとる必要があるため正規表現が必要になります。検索するのにこれ。 http://aaa.com/(.*?)\/ 具体的に箇条書きで解説します。
- まず基本の.*
- . は任意の文字
- * は繰り返し回数。この場合は0回以上。
- バックスラッシュを使って任意の特殊文字をエスケープし、それを文字通り解釈するようにします。
- ちなみに半角のバックスラッシュ”\”は、通常の日本語フォントでは半角の”¥”です。
- バックスラッシュの半角の打ち方を調べる前に、¥でいいことを知っていればいいでしょう。
- 括弧はなくてもいけますが、一応つけています。
- はてなは最短マッチです。はてながないとアドレスが長い場合、最後尾のスラッシュを取得してしまいます。
http://aaa.com/tokyo/100/hoge/hoge/
最短のスラッシュを取得するため最短マッチです。秀丸などのテキストエディタで置換する場合は、この正規表現でOKです。
WordPressのプラグイン Search Regexの正規表現
WordPressのプラグイン、Search Regexの場合、|を入れます。
|http://aaa.com/(.*?)\/|
あと、1番左のチェックボックスを有効にしないと正規表現になりません。管理画面をみればすぐわかります。
http://bbb.com/head
後ほど、置換したアドレスをさらに修正したかったため、目印として個人的にheadという頭文字をつけました。
記事のエクスポートとインポートによりブログ移転をしましたが、内部リンクはすべてリンク切れしてしまうのですよね。その際にこのような正規表現の置換が便利なわけですね。
コメント