昨年秋から投稿してきた Drush コマンド ヘルプの日本語訳では、各ページにオリジナルの英語ページへのリンクを掲載していたが、先日その URL のパスが変更になったようで、すべてリンク切れになっていることに気づいた。
- 変更前:https://www.drush.org/commands/10.x/<コマンド名>
- 変更後:https://www.drush.org/latest/commands/<コマンド名>
これらは記事コンテンツ中の a タグの href 属性として埋め込んでいたので、修正するには、すべての対象コンテンツの該当箇所を書き換える必要がある。さてどうするか。
そんなときに超便利なのが Search and Replace Scanner モジュール。サイト内の全ノードを対象にコンテンツ(タイトルと本文)中の文字列を検索して一括置換してくれる。
大文字小文字の区別、単語単位か部分文字列かの指定のほか、正規表現で検索文字列のパターンを指定するオプションもある。
実際の処理は、検索文字列と置換文字列を指定して実行する。今回はそれぞれ、冒頭書いた変更前と変更後の URL ディレクトリ文字列を指定し、(単語ではなく)部分文字列を対象として検索と置換を行った。
MS Word などのワープロソフトの文字列置換と同様の感覚で使えるので便利だ。おかげさまで、Drush コマンド ヘルプのリンク切れを無事すべて解消することができた。
なお、現状のリリース(8.x-1.0-rc3)では、Drupal 9 環境で実行するにはパッチを適用する必要があった。実際に試してみる場合は要注意。