すでに、存在する日本語のページ名には自動で [[ ]] ブラケットをつけて、リンクするようにしました。
日本語のページ名 ⇒ WikiName名以外 としました。
また、入力画面で「オートブラケット処理をする」にチェックした時のみ処理するようにしました。(2003/3/4)
! をページ名の前につけることで、オートブラケットを抑止できます。
| CVSより(tar.gz):最新版ダウンロード* |
|---|
| [ 差分パック ] [ アップデートパック(tar.gz) ] [ CVSディレクトリ ] |
|
改造内容:
html.phpに以下の function を追加。
// ページネームの取得
function get_page_name(){
global $non_list,$whatsnew;
$tmpnames = array();
$retval = array();
$files = get_existpages();
foreach($files as $page) {
if(preg_match("/$non_list/",$page)) continue;
if($page == $whatsnew) continue;
$tmpnames[strip_bracket($page)] = mb_strlen(strip_bracket($page));
}
arsort ($tmpnames);
reset ($tmpnames);
foreach($tmpnames as $name => $mojisu){
$retval[] = $name;
}
return $retval;
}
pukiwiki.php の「プレビュー」と「書き込みもしくは追加もしくはコメントの挿入」の箇所の
$post["msg"] = preg_replace("/^#freeze\n/","",$post["msg"]);
の後ろに以下のコードを挿入(2箇所)
//ページ名に自動リンク by nao-pon
foreach (get_page_name() as $page_name){
if (ereg("[^_a-zA-Z0-9]",$page_name)){ //英数記号以外
$post["msg"] = mbereg_replace(
"(^|\]\])([^[\]]*?)($page_name)([^[\]]*?)(\[\[|$)",
"\\1\\2[[\\3]]\\4\\5",$post["msg"]);
}
}
//nao-pon
整形済み指定の場合は、処理しないようにちょっと修正。
//ページ名に自動リンク by nao-pon
$post["msg"]=ereg_replace("[\n] ","\n [[",$post["msg"]);
foreach (get_page_name() as $page_name){
if (ereg("[^_a-zA-Z0-9]",$page_name)){ //英数記号以外
$post["msg"] = mbereg_replace("
(^|\]\])([^[\]]*?)($page_name)([^[\]]*?)(\[\[|$)",
"\\1\\2[[\\3]]\\4\\5",$post["msg"]);
}
}
$post["msg"]=ereg_replace("[\n] \[\[","\n ",$post["msg"]);
//nao-pon
さらに!を頭につけたページ名はオートリンク抑止するように修正。
//ページ名に自動リンク by nao-pon
$post["msg"]=ereg_replace("[\n] ","\n[[",$post["msg"]);
foreach (get_page_name() as $page_name){
if (ereg("[^_a-zA-Z0-9]",$page_name)){ //英数記号以外
$post["msg"] = mbereg_replace("!$page_name","[[!$page_name]]",$post["msg"]);
$post["msg"] = mbereg_replace("
(^|\]\])([^[\]]*?)($page_name)([^[\]]*?)(\[\[|$)",
"\\1\\2[[\\3]]\\4\\5",$post["msg"]);
$post["msg"] = mbereg_replace("\[\[!$page_name\]\]","!$page_name",$post["msg"]);
}
}
$post["msg"]=ereg_replace("[\n]\[\[","\n ",$post["msg"]);
//nao-pon
さらに、WikiName以外に変更と#で始まる行は処理しないようにした。
//ページ名に自動リンク by nao-pon
if ($auto_bra_enable) {
$post["msg"]=ereg_replace("(^|[\n])( |#)","\\1\\2[[",$post["msg"]);
foreach (get_page_name() as $page_name){
if(!preg_match("/^".$WikiName."$/",$page_name)){ //WikiName以外
$post["msg"] = mbereg_replace("!$page_name","[[!$page_name]]",$post["msg"]);
$post["msg"] = mbereg_replace("(^|\]\])([^[\]]*?)($page_name)([^[\]]*?)(\[\[|$)",
"\\1\\2[[\\3]]\\4\\5",$post["msg"]);
$post["msg"] = mbereg_replace("\[\[!$page_name\]\]","!$page_name",$post["msg"]);
}
}
$post["msg"]=ereg_replace("(^|[\n])( |#)\[\[","\\1\\2",$post["msg"]);
}
//nao-pon
| Page name: | PukiWikiの雑記/日本語のページ名にオートリンク [ Sended pings(0) ] | |
| Author: | 通りすがりさん | - 2003/05/12 15:16:44 JST(2030d) |
| Last edit: | 通りすがりさん | - 2003/05/12 15:16:44 JST(2030d) |
| Editers: | 登録ユーザー | |
| Back Link: | PukiWikiMod(72d) CVS(81d) コメント(188d) 差分パック(361d) PukiWiki作業日記(521d) アップデート(608d) なおき(962d) PukiWikiの雑記(2005d) 日本語(2109d) WikiName(2128d) | |
ログイン
メインメニュー
Home
新着情報
フォーラム
UsersWiki
xpWiki::Dev
Wiki [自由帳]
Recent View
View List
写メールBBS
たぐめも
ダウンロード
箱庭諸島
リンク集
お問い合わせ
サイトマップ
参照元情報
|
最新のページ
ブックマーク
新着トラックバック
サイト内 Wiki
☆ 検索 ☆
オンライン状況
サイト情報
現在ページのQRコード
参照元情報