PR

[WordPress] 全記事の置換を行う – Search Regex

Search Regex を使うとデータベースを直接操作して一括して置換できる。日本語ファイル も用意されている。インストールするとツールにSearch Regexがあらわれる。

スポンサードリンク

※Search Regex は直接データベースを操作するから必ずバックアップを取ってから作業する。バックアップもできれば終段を替えて複数取っておきたいところ。

使い方

探す

Search pattern に検索語を、Replace pattern に置き換える語を入力する。正規表現を使う場合はRegex をチェックする(たぶん)。

Search pattern に語句を入れて Search をクリックするとその語句を含むモノも見付け出してくれる。

モノには以下のものが指定できる:

  • Comment author
  • Comment author email
  • Comment author URL
  • Comment content
  • Post content
  • Post excerpt
  • Post meta value
  • Post title
  • Post URL
  • Sniplet Content
  • Tag Name
  • Tag slug

置換の確認と置換

Search pattern に語句を入力してSearch をクリックするとすべての記事から「<h2>◆参考文献</h2>」を含む記事を探し出す。この場合241 件ヒットした。置換したいものだけが含まれているか確認しておいたほうが良いだろう。

例として 「<h2>◆参考文献</h2>」を探し出して「<h2>参考文献</h2>」に置換する作業をしてみる。

前回のSearchpattern に続いて今度は Replace pattern に「<h2>参考文献</h2>」を入力し、Replace をクリックする。

期待する結果が表示されたなら Replace&Save をクリックすると置換して保存される。

おまけ

SyntaxHighlighter のタグからショートコードに置き換える

こんな感じかな。

Search pattern:

/<pre class=\”?brush:(.+?)\;?”?>([^<]+)<\/pre>/i

Replace pattern:

[ code lang=”$1″]$2[ /code]

↑表示にはプラグインが発動しないように半角スペースいれてます

特定の複数記事に定型文を埋め込む

調べるとAddQuicktag を使えという内容のものが多い。が、HTML モードのエディタで作業しなければならないのと、確かに定型文は入れられるけど入れるだけで更新や削除ができない。他に考えられるのはAdMan などの広告挿入プラグインを上手く使って目的を達成することくらい。

特定カテゴリならそのカテゴリだけに適用するテーマのテンプレートファイルを作れば良いが、何処に入れるかわからないとかカテゴリをまたいでいるとかだと難しい。しかし、Search Regex を上手く使いこなせば好みの位置に好みのコードを挿入することができる。

例えば挿入したいところに<!–TEIKEISTART–><!–TEIKEIEND–>とコードを入れておき、正規表現でこの箇所を変更していけばいい。注意点がひとつあって、マーカーを削除しない事。削除してしまったら次回以降使えなくなるので注意する。

更新前:

<!–TEIKEISTART–>○月のお休みは△日です!<!–TEIKEIEND–>

更新後(正):

<!–TEIKEISTART–>○月は休みなし!<!–TEIKEIEND–>

更新後(誤):

○月は休みなし!

※マーカー(<!–TEIKEISTART–><!–TEIKEIEND–>)を消してしまったので今後作業できない。考え方によっては既存の記事に挿入することもできるが(タグの書き換えなどで:<h1> → <!–TEIKEISTART–> <!–TEIKEIEND–><h1>)自由度は下がる。
※安全のための処理が行われないのでセキュリティホールになったりデータを破壊しないように気をつけるのは言うまでもないが念のため

参考文献

<<span class="start-tag">option</span><span class="attribute-name"> value</span>=<span class="attribute-value">"SearchCommentAuthor" </span>>Comment author</<span class="end-tag">option</span>>
										<<span class="start-tag">option</span><span class="attribute-name"> value</span>=<span class="attribute-value">"SearchCommentAuthorEmail" </span>>Comment author email</<span class="end-tag">option</span>>
										<<span class="start-tag">option</span><span class="attribute-name"> value</span>=<span class="attribute-value">"SearchCommentAuthorURL" </span>>Comment author URL</<span class="end-tag">option</span>>
										<<span class="start-tag">option</span><span class="attribute-name"> value</span>=<span class="attribute-value">"SearchCommentContent" </span>>Comment content</<span class="end-tag">option</span>>
										<<span class="start-tag">option</span><span class="attribute-name"> value</span>=<span class="attribute-value">"SearchPostContent"  </span><span class="attribute-name">selected</span>=<span class="attribute-value">"selected"</span>>Post content</<span class="end-tag">option</span>>
										<<span class="start-tag">option</span><span class="attribute-name"> value</span>=<span class="attribute-value">"SearchPostExcerpt" </span>>Post excerpt</<span class="end-tag">option</span>>
										<<span class="start-tag">option</span><span class="attribute-name"> value</span>=<span class="attribute-value">"SearchPostMetaValue" </span>>Post meta value</<span class="end-tag">option</span>>
										<<span class="start-tag">option</span><span class="attribute-name"> value</span>=<span class="attribute-value">"SearchPostTitle" </span>>Post title</<span class="end-tag">option</span>>
										<<span class="start-tag">option</span><span class="attribute-name"> value</span>=<span class="attribute-value">"SearchPostURL" </span>>Post URL</<span class="end-tag">option</span>>
										<<span class="start-tag">option</span><span class="attribute-name"> value</span>=<span class="attribute-value">"SearchSnipletContent" </span>>Sniplet Content</<span class="end-tag">option</span>>
										<<span class="start-tag">option</span><span class="attribute-name"> value</span>=<span class="attribute-value">"SearchTagName" </span>>Tag Name</<span class="end-tag">option</span>>
										<<span class="start-tag">option</span><span class="attribute-name"> value</span>=<span class="attribute-value">"SearchTagSlug" </span>>Tag slug</<span class="end-tag">option</span>>

コメント