人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

正規表現と、pukiwikiのrename機能について質問です。

renameプラグインで下記の画面が出た時に、正規表現を使うと、単に目的とするページの名前を変えるだけでなく、その名前を含んでいるページも置換できて、リンク切れになるのを防げる・・と理解しています(違っていれば指摘して下さい)。
http://screencast.com/t/dilY8KsOol

ただ、正規表現がよく分からないので、具体的にどのように書くと良いか教えて頂けると嬉しいです。
何卒宜しくお願いします。


●質問者: にらたま
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● rouge_2008
●100ポイント

renameプラグインの正規表現は、そのままではメタ文字が使用できませんので、変更したい箇所がページ名の一部で、複数のページを一括で変更したい場合に有効です。

MyPage01 → MyLocalPage01
MyPage02 → MyLocalPage02
MyPage03 → MyLocalPage03

例えば上記のように変更したい場合、「From:」に「My」、「To:」に「MyLocal」と入力します。
※変更前にどのように変更されるか確認の画面が表示されます。

「plugin/rename.inc.php」を次のように変更すると、通常PHPで利用するような正規表現でページ名の変更ができるようになります。(※私は検証済みです。)
http://pukiwiki.sourceforge.jp/?%E8%B3%AA%E5%95%8F%E7%AE%B13%2F363

renameプラグインのソース(plugin/rename.inc.php)の23行目付近を以下のように変更すれば正規表現置換でメタ文字を使用できます。(検証してませんけど)

- $src_pattern = '/' . preg_quote($src, '/') . '/';
+ $src_pattern = '/' . $src . '/';


なお、ページ本文等のリンクの変更は行われません。
プラグインの説明に『ページ内のリンクの書き換えは行ないません。yetlistなどを駆使して対処してください。』とあります。
実際、リンクの変更までは行われませんでしたので、renameプラグインでページ名を変更した後は、yetlistで未作成のページがある一覧(※変更前のページ名の横にそのページにリンクしているページが表示されます。)で確認するか、あるいはsearchで以前のページ名を検索するかして、見つかったページを1つずつ修正する必要があります。
ページの内容が多い場合や、ページ内に複数修正箇所がある場合は、編集欄から一旦テキストエディタに貼り付けて検索・置換を実行後、編集欄に戻すと少しだけ楽になるかもしれません。

・「rename【ページ名変更】」プラグイン
http://pukiwiki.sourceforge.jp/?PukiWiki%2F%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%2F1.4#g75a0fa9

概要
既存ページの名前を変更します。実行には管理者権限が必要です。

ページの本文のほか、指定されたページ名の差分、バックアップ、添付ファイル、カウンターを一気にリネームします。

ページ名には変更するページの名前を指定します。省略時はページ名の選択または正規表現置換用文字列入力画面が表示されます。

変換結果は:RenameLog?ページに実行結果を追記されます。

備考
ページ内のリンクの書き換えは行ないません。yetlistなどを駆使して対処してください。

リネーム対象のページが凍結されているかどうかはチェックしていません。

関連ページにリネーム対象の文字列が複数含まれているとおかしくなります。



・「yetlist【未作成ページを表示】」プラグイン
http://pukiwiki.sourceforge.jp/?PukiWiki%2F%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%2F1.4#i541ecab

書式

?plugin=yetlist

概要
まだ作られていないページを一覧表示する。

既存のページでWikiNameあるいはBracketNameで指定されているが、まだ作られていないページを一覧表示します。


http://pukiwiki.sourceforge.jp/?%E8%B3%AA%E5%95%8F%E7%AE%B13%2F404
http://pukiwiki.sourceforge.jp/?%E8%B3%AA%E5%95%8F%E7%AE%B1%2F182

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ