search regexで、各記事のショートコードを全削除や一部訂正するために

ショートコードのプログラムをfunctions.phpに書くのはいいけど、やっぱりこれ使わない。。。とかいらなくなったとか、訂正する必要が出てきたっていう経験ってないですか?

funcitons.phpを変更は簡単だけど、各記事に書いたショートコードが問題。これを一つ一つ訂正するのって面倒ですよね。管理人は一括訂正のために、プラグイン Search Regexを入れていますが、自分への備忘録のためにも訂正方法を書いておきます。


google広告

ショートコードの基本の書き方を統一する

ショートコードの書き方は基本統一したほうが良さそうです。

[(関数名) (パラメーター1)="値1" (パラメーター2)="値2"]

こんな感じですね。

[searchregextest aparm="11" bparm="22010"]

[searchregextest aparm="22" bparm="22010"]

こんな感じのショートコードを書いているとします。

ショートコードそのものを全削除してしまいたい場合

Search pattern → |\[searchregextest.+?\]|
Replace pattern → 空欄

最低でもこれだけはチェックですね。すべて同じショートコードなら削除も置換も簡単なんですが、パラメーターの存在がやっかいです。

パラメーターを変換する

パラメーターの変換もちょっと考えてみました。aparm=”11″ → aparm=”33″に変えたいとします。以下で上のショートコードのみ変更されます

Search pattern → |\[searchregextest.+aparm="11".+bparm="([^"]+)"|
Replace pattern → [searchregextest aparm="33" bparm="$1"

bparm=”22010″ → bparm=”33020″に変えたい場合は、以下のように、上下両方とも後ろのパラメーターが変わります。

Search pattern → |\[searchregextest.+aparm="([^"]+)".+bparm="22010"|
Replace pattern → [searchregextest aparm="$1" bparm="332020"

([^”]+)部分を$1で置換してあげるのがコツみたい。ちなみに、2つともパラメーターをそのままにしたい場合は、$1,$2と置換側を設定するとできるようです。また、一度変換すると後戻りが効かないのでsaveする前の項目をよくチェックすること、必ずバックアップを取ることが大事です。

文章や文字のあいまいパターンを見出すのは、正規表現というキーワードで探すんですね。今回の記事は、「正規表現 置換 サンプル」のキーワードで探しました。

google広告

コメントを残す

*

このページの先頭へ