カテゴリ | |
---|---|
サマリ | InterWikiNameの定義はコメント行にしても「置き換え」されてしまうのでしょうか |
バージョン | 1.4.3 |
投稿者 | むさし |
状態 | 質問 |
投稿日 | 2004-09-07 (火) 23:24:55 |
コメント行記号(//など)ではじめる行で仮に書いておいたInterWikiNameが、コメント行のつもりが反映されてしまうようなのですが、仕様でしょか。
コメント行を無効にしたければ、make_link.phpの797行付近を
$interwikinames = array(); foreach (get_source($interwiki) as $line) { + if (preg_match('/^\/\/.*$/i', $line)) + { + continue; + } if (preg_match('/\[((?:(?:https?|ftp|news):\/\/|\.\.?\/)[!~*\'();\/?:\@&=+\$,%#\w.-]*)\s([^\]]+)\]\s?([^\s]*)/',$line,$matches)) { $interwikinames[$matches[2]] = array($matches[1],$matches[3]);
あたりでどうでしょう。 -- 2004-09-08 (水) 00:27:01
// [http://foo.example.org/? foo] ~[[fooのFrontPage>foo:FrontPage]]
「fooのFrontPage」は、素のままだと
http://foo.example.org/?FrontPage
なリンクとなり、コメントのつもりの行が有効なInterWikiNameの定義として 機能してしまいます。で、上のベタなコメント行スキップを加えると、
http://そのサイト/pukiwiki.php?%5B%5Bfoo%3AFrontPage%5D%5D
のようになるということです。
仮にそれがコメント行だと,なぜだかなかなか気づかず,ふつうとても混乱しますね. -- むさし 2004-09-10 (金) 00:39:11