無料スクリプトならphp.to

PHPスクリプト無料配布所 :: PHP.TO







アクセスアップ・上位表示ならSEO.CUG.NET
安くて早い!SEOに強いコーディング代行サイト AcodeZ(アコーズ)
無料スクリプトならphp.to PHPスクリプト無料配布!php.to
リンクはご自由に


0013. サクラエディタの強調表示用キーワードファイル(.KWD)を作成する方法
<< 0012. PHPで日本語ドメインを使う方法
オープンソースの国産エディタとして、サクラエディタサクラエディタの情報へ (sakura editor)というテキストエディタがあります。

フリーなのに他言語対応・タブ表示・常駐機能・複数の文法強調表示対応などなど、多機能な優れモノなので、PHPの開発にもこれを用いる方も多いのではないでしょうか。

PHPはビルトイン関数が多いため、PHP関数の強調表示を行うとエディタ側がメモリを食うこともあり、当初は強調表示のためのキーワードファイル(以下、KWDファイル)が配布パッケージ内に含まれていなかったのですが、最近になって含まれるようになりました。

しかし、このKWDファイルはこちらこちらの情報へ で公開されているものを使用しているのか、やや古い(2005/01時点のもの)ようです。

このKWDファイル内には、3440のPHPキーワード(予約語や関数)が含まれていますが、PHPのバージョンアップに伴い、2008/09現在では、3900以上のPHPキーワードが存在する模様です。(class内の関数などを入れればもっと多い)

file_put_contentsfile_put_contentsのマニュアルへJSON 関数JSON 関数のマニュアルへ など、比較的新しい関数を利用する場合は、強調表示されなくて困るので、KWDファイルを最新のものに更新するスクリプトを作成してみました。

使い方:
  1. 以下のコードをコピーして、適当な名前(例:make_kwd.php)で保存します。

  2. コマンドラインで実行する場合は php make_kwd.php > php.kwdと実行します。
    ブラウザ上で実行する場合は、適当なサーバに上げて、そのファイルのURLを叩き、表示されるテキストをコピーして php.kwd というファイル名で保存してください。

  3. あとは、サクラエディタがインストールされているフォルダにある keyword フォルダに同ファイルを上書きコピーして、サクラエディタの[設定]→[共通設定]→[強調キーワード]でPHPのセットに対して、先ほどのファイルをインポートしなおせば完了です。
    (参考)サクラエディタでPHPキーワードを強調表示する設定サクラエディタでPHPキーワードを強調表示する設定の情報へ





<?php
    
// SAKURAエディタ用のPHPキーワードファイル(PHP.KWD)を作成する
    // written by php.to
    
    // ----------------------------------------------------------
    // classメンバはキーワード化しない場合はTRUEにしてくだい
    
$SKIP_CLASS TRUE;
    
// ----------------------------------------------------------

    
$base_url "http://php.manual.php.to/";
    
$files = array("reserved.html""indexes.html");
    
    
$a = array();
    foreach(
$files as $file) {
        
$url "$base_url$file";
        if (!
file_exists($file) || (filemtime($file) < time() - 86400*7)) {
            
$body file_get_contents($url);
            
file_put_contents($file$body);
        } else {
            
$body file_get_contents($file);
        }
        
preg_match_all("!<A\s+HREF=\"[\w\.\#\-]+\"\sclass=\"\w+\"\s*>(.+)</A\s*>!Ui"$body$matchesPREG_SET_ORDER);
        foreach(
$matches as $match) {
            
$word $match[1];
            if ((
$pos strpos($word"->")) !== FALSE) {
                
// class
                
$word substr($word$pos+2);
            } elseif ((
$pos strpos($word"::")) !== FALSE) {
                
$word substr($word$pos+2);
            }
            if (!
$pos || !$SKIP_CLASS) {
                
$a[] = ereg_replace("\(\)$"""$word);
            }
        }
    }
    
    if (
$_SERVER['REMOTE_ADDR']) header("Content-Type: text/plain");
    
    echo 
"// PHP  キーワード定義ファイル\r\n\r\n";
    
sort($a);
    echo 
implode("\r\n"array_unique($a));
?>



#同様に、KHPファイルも作ろうと思ったのですが、どこかで作成スクリプトを公開されていたような。。。
#残念ながら探し出せませんでしたが、需要があれば作ります。
##なお、サクラエディタはPHPのchmファイルと連携できますが、PHPの公式サイトで配布されている
##chmファイルは一部文字化けしているので、こちらこちらの情報へ を参考に、KeyToolsでchmファイルをリビルドすると幸せになれます。



⇒ 上記の実行例

track back URL : http://php.to/tips/13/trackback/

コメント

コメントはまだありません


よろしければコメントをどうぞ ※spam防止のため、半角英数字のみの投稿はできません
お名前(必須):
URL:
コメント(必須):

パソコンメーカーのデル
XPS 15z
Vostro 3750

- SEO.CUG.NET :: スクリプト配布チーム -