InterWikiでもアンカーへのリンクが使いたい

メッセージ

エイリアスでは

[[ほげほげ>ページ名#anchor]]

という書き方ができるようになったけど、InterWikiでは

[[ほげほげ:ページ名#anchor]]

とは書けない。

#も%23にエンコードされてしまうのが理由。#をエンコードしないで出力できれば…

official:質問箱


diff -u -r1.32 make_link.php
--- make_link.php Mar 2003 15:13:02 -0000	1.32
+++ make_link.php1 Apr 2003 09:15:26 -0000
@@ -391,6 +391,8 @@
 //InterWikiName
 class Link_interwikiname extends Link
 {
+	var $anchor = '';
+	
 	function Link_interwikiname($start)
 	{
 		parent::Link($start);
@@ -434,8 +436,14 @@
 	{
 		$arr = $this->splice($arr);
 		
+		$param = $arr[6];
+		if (preg_match('/^([^#]+)(#[A-Za-z][\w-]*)$/',$param,$matches))
+		{
+			$this->anchor = $matches[2];
+			$param = $matches[1];
+		}
-		$name = '[['.$arr[4].$arr[6].']]';
-		$alias = ($arr[2] != '') ? $arr[2] : strip_bracket($name);
+		$name = '[['.$arr[4].$param.']]';
+		$alias = ($arr[2] != '') ? $arr[2] : $arr[4].$arr[6];
 		
 		return parent::setParam($page,$name,'InterWikiName',$alias);
 	}
@@ -444,7 +452,7 @@
 		global $script; //,$interwiki_target;
 		
 		$r_name = rawurlencode($this->name);
-		return "<a href=\"$script?$r_name\">{$this->alias}</a>";
+		return "<a href=\"$script?$r_name{$this->anchor}\">{$this->alias}</a>";
 	}
 }
 // BracketName

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2003-05-22 (木) 01:16:40
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.195 sec.

SourceForge