plain.inc.php

PukiWikiでは行頭に半角スペースを入れる事で,テキストをエンコードせずに表示させる事ができます.

コーラのメーカー [#p8fbcfcd]

-コカコーラ
 --コカコーラ
-サントリー
 --ペプシコーラ
-日清ヨーク
--乳酸菌飲料コーラ

しかし,プログラムのソースコード等,沢山の行の先頭にスペースを入れていく作業はめんどくさいので,専用のプラグインを書いてみる事にしました.

Chain[] AllChain=new Chain[this.m_Entity.Length-1];
Chain Now=Node.m_ChainTop;
while(Now!=null)
{
    SetChainArray(ref AllChain, Now);
    Now=Now.m_Next;
}

//短いパスから距離を確定していく
Chain[] NewChains;
for(int i=0; i<AllChain.Length && AllChain[i]!=null; i++)
{
    NewChains=CheckAroundChain(Node, AllChain[i]);
    for(int j=0; i<NewChains.Length&&NewChains[j]!=null; j++)
    {
        SetChainArray(ref AllChain, NewChains[j]);
    }
}

こんな事が簡単にできます.
複数行のプラグイン引数を渡す事を可能にする

複数行のプラグイン引数を可能に
ここから複数行のプラグイン引数を可能にする為のパッチを落としてあてます.
このパッチを当てる事で,プラグインに複数行の引数を渡す事が可能になります.

既存のプラグイン

codehighlight

実は,ソースコードを色付きで表示してくれるプラグインが有ったりします.
しかしこれはC++が未対応な事に加え,私の使っているスキンだと正しく表示されない為,使えませんでした.

plain.inc.phpのソースコード

<?php
function plugin_plain_convert()
{
       $args = func_get_args();
       $text = array_pop($args);
       //&の置換
       $text = str_replace("&", "&amp;", $text);
       //<と>を置換する
       $text = str_replace("<", "&lt;", $text);
       $text = str_replace(">", "&gt;", $text);
       $text = str_replace("\t", "    ", $text);
       $text = "<pre>".$text."</pre>";
       return $text;
}
?>

簡単なので説明は不要ですよね?
plain.inc.phpという名前でpluginフォルダに置けば使えるようになります.

それと,もっときれいに書けないか気になります.PHPに詳しい人教えてください.

使い方

1行目
2行目

と書くと

1行目
2行目

となります.問題点があればご指摘ください.


トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-06-03 (金) 19:20:39 by pukiwiki 1.5.4