【WordPress】プラグイン「Search Regex」ですべての投稿内の文字列を置換・削除する方法(複数行も対応)【正規表現】

【WordPress】プラグイン「Search Regex」ですべての投稿内の文字列を置換・削除する方法(複数行も対応)【正規表現】

すべての投稿内の文字列を一括変換できる便利なプラグイン「Search Regex」。

 

私はこれまで、見出しにスタイルを設定していました。

関連:CSSとHTMLの知識なしでデザイン見出しを作成する

 

しかし、テーマを「LION MEDIA」に変えたことにより、見出しのスタイルを使用しなくなりました。

関連:テーマ「LION MEDIA」が無料とは思えないクオリティ!おすすめポイントと使い方

 

今まで見出しタグに<h2 class=”sample2″>のように手動で記述していた部分が不要になったので、削除する必要が出てきました。しかし、すべての投稿内からこれを削除するのは相当面倒です。

記事内の文字列を一括で置換することができるプラグイン「Search Regex」を使用すると楽に変更できたので、今回はその使い方を記録しておきます。


「Search Regex」とは?

「Search Regex」は過去に投稿した記事の内容を一括置換することができるプラグインです。

WordPressでプラグインを使う方法は以下をご覧ください。

関連:「プラグイン」を使う(TinyMCE Advancedの導入)

 

例えば、過去の記事で「見てください」と記述していたところをすべて「ご覧ください」に変えたくなった時などに使います。すべての記事を見直して1つ1つ書き換えるのは大変ですが、「Search Regex」を使用すれば簡単にこれまでの投稿内すべてを書き換えることができます。

 

単純に文字列を置き換えるだけでなく、工夫して使うことにより、以下のことができます。

  • htmlタグを一括で書き換える
  • 特定の文字列を一括削除する
  • 投稿に直接記入していた広告コード(複数行)を一括削除する

 

便利すぎる・・・!

 

私はテーマを「LION MEDIA」に変える前は、投稿内に直接Googleアドセンスのコードを貼り付けていたので、置換よりは一括削除の方にお世話になりました。

 

「Search Regex」を使う際の注意点

「Search Regex」はとても便利なプラグインですが、使用する際には注意点があります。

それは、書き換わったものを元に戻すことができない点です。

もちろん、もう一度逆に置換しなおせば戻せますが、複数の表現を1つにまとめるために一括置換を利用した場合は、もともとその表現だったものまで書き換わってしまいます。

万が一に備えて、必ずバックアップを取ってから置換を行うようにしましょう。

関連:<プラグイン>UpdraftPlusでサイトのバックアップを取る

関連:<プラグイン>UpdraftPlusで取ったバックアップからサイトを復元する方法

 


「Search Regex」の使い方

「Search Regex」の設定項目は、以下のサイトを参考にさせていただきました。

AdminWeb|Search Regexプラグインの使い方

とても細かく書かれているので、分かりやすかったです。ありがとうございました。

 

設定は基本的にさわらなくても大丈夫です。私は何も変えずにそのまま使用しています。

設定はAdminWebさんの方が詳しいので、こちらでは私が実際に使用した基本的な使い方を記録しておきます。

文字列を一括置換する

まずは一番シンプルな使い方、文字列の一括置換です。

過去の投稿に関連する内容を書いた際、「関連:」としてそのページへの内部リンクを貼っています。

最初の頃はそれがなぜか「参考:」としていた部分が結構あったので、これを「関連:」に統一させるために一括置換を行いました。

 

Search pattern 「参考:」

Replace pattern 「関連:」

そのまんまですね。

気を付けた点としては、「参考」のみで置換を行うと文章中に使用した「参考」まで書き換わってしまうため、「:(コロン)」まで置換の対象に含めました。

 

htmlタグを一括置換する

「Search Regex」はhtmlタグの一括置換もできます。

htmlタグの書き換えも、基本的には文字列と同じように書き換えることができます。

私の場合、見出しタグの<h3>を<h2>に、<h4>を<h3>に一括置換しました。

先に<h4>を<h3>にしてしまうと、<h3>を<h2>にした際にすべて<h2>になってしまうので、見出しタグの置換を行う際には順番に注意が必要です。

 

さらにもう1つ注意点があります。htmlタグには開始タグ終了タグがあり、その間には文字列が入っているという点です。

これに対応するためには、正規表現というものを使う必要があります。

正規表現とは、「なんか1文字」や「とりあえず文字列」など、曖昧な検索をしたいときに使う表現のようなものです。

<h3>タグを<h2>タグに一括置換する際は以下のようになります。

 

Search pattern 「|<h4>(.*)</h4>|」

Replace pattern 「<h3>$1</h3>」

Regex: チェックON

正規表現を使用する際は、Regexにチェックを付ける必要があります。

使用した正規表現は以下のものです。

| 正規表現を利用する際、検索する文字列を囲みます。
(.*) 文字列を表します。
検索する文字列側を入力する際に使用します。
$1 置換前と同じ文字列を表します。
置換後の文字列側を入力する際に使用します。

検索する側の文字列は「|」で囲みます。

「(.*)」は「なんか文字列」を表し、「$1」が「そのままの文字列」を表します。

それを踏まえて置換内容を見てみると「<h4>タグの間になんか文字列があり、それをそのまんま<h3>タグに書き換えるよ」というような意味になります。

 

文字列の一括削除

次はちょっと特殊な置換、一括削除です。

「文字列」を「何もなし」に置換することで、削除を行うことができます。

私の場合、スタイルを手動で入力していた箇所を削除しました。

 

Search pattern 「class=”sample2″」

Replace pattern 「」

「class=”sample2″」を「」(なにもなし)に書き換えるという置換です。

これで「class=”sample2″」の一括削除を行うことができます。

 

複数行の一括削除(Googleアドセンスコードなど)

最後に複数行の置換です。これが一番難しかったです。

これも正規表現を使います。

私は投稿内のGoogleアドセンスのコードを一括削除する際に使用しました。

 

Search pattern 「|<script async src=(.*)</script>\s\n(.*)\s\n(.*)\s\n(.*)\s\n(.*)\s\n</script>|」

Replace pattern 「」

Regex: チェックON

新たに使用した正規表現は以下のものです。

\s 半角スペースを表します。
「\」は「\(バックスラッシュ)」で表示されても問題ありません。
\n 改行を表します。
「\」は「\(バックスラッシュ)」で表示されても問題ありません。

先ほどと同じように、検索する側の文字列は「|」で囲みます。

「\s」は「半角スペース」、「\n」は「改行」を表します。

WordPressでは改行前に自動的に半角スペースが入るという特徴があるため、「\s\n」で改行を表しています。

 

これらを踏まえてもう一度検索する文字列を見てみると、「アドセンス1行目、改行してなんか文字列、改行してなんか文字列、改行してなんか文字以下省略・・・、アドセンス最終行」となっています。

改行の回数をアドセンスのコードに合わせるのと、毎回「なんか文字列」の表現を挟むのを思いつくまで結構時間がかかりました・・・。


今回のまとめ

プラグイン「Search Regex」の使い方を紹介しました。

投稿内の文字列やタグの一括置換、一括削除ができる便利なプラグインでした。

難しい設定もなく、簡単に使うことができるのが私のような不器用さんにはありがたいですね。

置換後は保存されて元に戻せないので、バックアップだけしっかり取るのを忘れないようにしましょう。

 

正規表現が少し難しかったので、今回使ったものだけまとめておきます。

| 正規表現を利用する際、検索する文字列を囲みます。
(.*) 文字列を表します。
検索する文字列側を入力する際に使用します。
$1 置換前と同じ文字列を表します。
置換後の文字列側を入力する際に使用します。
\s 半角スペースを表します。
「\」は「\(バックスラッシュ)」で表示されても問題ありません。
\n 改行を表します。
「\」は「\(バックスラッシュ)」で表示されても問題ありません。

これだけの正規表現があれば、よっぽど特殊な置換じゃない限りは大体は組み合わせで対応できそうです。

 

ここまでお読みいただき、ありがとうございました。

WordPressカテゴリの最新記事