get-file 外部ファイルの特定場所の取出し


機能概要

外部プレーンファイルを読込み、その全体あるいは指定部分を。指定した表示場所あるいは新ウインドウに表示します。また、対象となる部分の各行を行の配列として取り出すことができます。

対象ファイルから取り出す部分を、id, class, tag で指定し、指定した表示場所に表示する機能は、JQueryを用いて簡単に記述できるので、ここでは、JQuery で扱っていない機能だけに限定しています。

ここでのテストデータは、text/test.txtを用います。

0123456789012345678901234・ア
     function aaa(abc) { ・イ
function aaa(xyz) {      ・ウ
    abc<br>aaa      ・エ
abcd                     ・オ
<h2>xyz</h2>             ・カ
   <!-- xyz --->         ・キ
//     cccccccccccccc  ・ク
    }                    ・ケ
}                        ・コ
   xyza                  ・サ
xyz                      ・シ

読込行 = getFileWhole(ファイル名, タグ無効);
getFileWhole(ファイル名, タグ無効, 表示場所|'window");

外部ファイルを読み、その全体を,
 ・表示場所を指定しない:行の配列にして戻す
 ・表示場所を指定(<div id="~"></div>):表示場所に表示。戻り値なし
 ・表示場所を 'window' と指定:新ウインドウにポップアップ表示。戻り値なし
の処理をします。

タグ無効

文中にHTMLのタグがある場合、それをタグとして認識し、表示時に改行などを行うか、< や > を特殊文字(実体参照)に置換して、タグ機能を無効にしするかの指定です。
表示をするときは、HTMLのルールに従いますので、タグ無効をしないと、タグは表示されず、行連続した半角スペースは詰められます。それで、ソースコードを表示する場合は無効指定をするのが適切です。逆に、対象関数の機能を用いるために表示場所に埋め込むには、無効にしてはいけません。

無効にするときは "yes" 、しないときは "no" と指定します。省略はできません。

表示場所を与えたときは、行末に改行コード"<br>"を付け加えてあります。
表示場所を与えないときは、処理結果がわからないので、テストコードで読込行の内容を解読して表示場所に表示しています。

タグ変換なし(タグはそのまま:改行などが行われる)
表示場所なし var 読込行 = getFileWhole('text/test.txt', 'no');
表示場所指定 getFileWhole('text/test.txt', 'no', 'getFileWhole表示場所');
'window' getFileWhole('text/test.txt', 'no', 'window');
タグ変換あり(タグ機能を無効にする)
表示場所なし var 読込行 = getFileWhole('text/test.txt', 'yes');
表示場所指定 getFileWhole('text/test.txt', 'yes', 'getFileWhole表示場所');
'window' getFileWhole('text/test.txt', 'yes', 'window');
getFileWhole表示場所

読込行 = getFileByLiteral(ファイル名, 最初文字列, 最後文字列, タグ無効);
getFileByLiteral(ファイル名, 最初文字列, 最後文字列, タグ無効, 表示場所|'window")

getFileWholeが指定したファイル全体を対象にしていたのに対して、上から探索して指定した最初文字列を持つ最初の行から, 最後文字列を持つ最初の行までの範囲を対象にします。

表示場所を与えたときは、行末に改行コード"<br>"を付け加えてあります。
表示場所を与えないときは、処理結果がわからないので、テストコードで読込行の内容を解読して表示場所に表示しています。

ワイルド文字

最初文字列, 最後文字列

getFileByLiteral('text/test.txt', 'abc', 'xyz', 'yes', 'getFileByLiteral表示場所'); 行頭abc(オ)~行頭xyz(シ)
getFileByLiteral('text/test.txt', '_abc', '%xyz', 'yes', 'window'); 行頭スペースabc(エ)~どこかにxyz(カ)
 

getFileByLiteral表示場所

読込行 = getFileByFunction(ファイル名、 関数名, タグ無効);
getFileByFunction(ファイル名, 関数名, タグ無効, 表示場所|'window");

getFileWholeが指定したファイル全体を対象にしていたのに対して、行の先頭が "function 関数名" である行から、"}" である行までを選択します。

表示場所を与えたときは、行末に改行コード"<br>"を付け加えてあります。
表示場所を与えないときは、処理結果がわからないので、テストコードで読込行の内容を解読して表示場所に表示しています。

タグ無効なし(タグはそのまま:改行などが行われる)
表示場所なし var 読込行 = getFileByFunction('text/test.txt', 'aaa', 'no');
表示場所指定 getFileByFunction('text/test.txt', 'aaa', 'no', 'getFileByFunction表示場所');
'window' getFileByFunction('text/test.txt', 'aaa', 'no', 'window');
タグ変換あり(タグ機能を無効にする)
表示場所なし var 読込行 = getFileByFunction('text/test.txt', 'aaa', 'yes');
表示場所指定 getFileByFunction('text/test.txt', 'aaa', 'yes', 'getFileByFunction表示場所');
'window' getFileByFunction('text/test.txt', 'aaa', 'yes', 'window');
getFileByFunction表示場所