IT Office Nishimiyahara

個人用スマホから商用プログラミングまでなんでもお任せ下さい

サブディレクトリ内も一覧(その2)

      2015/02/04

ディレクトリを後回しにする事に成功した。少しは見やすくなった・・・かもしれない。配列の扱いかたの勉強になった。

今回はタイトル文字列の取得を少し考えてみた。「titleタグ」があって、その中身が無いときにも、そのまま表示していたようだ。とりあえず「全角空白」だけのタイトルは除いて取得しない(?)ようにした。「全角空白」は「EUC」の落とし穴らしいのでとりあえずは無視。「Unicode」なら大丈夫なのだろうか?やってみよう。

改行については、とりあえずは無視。ファイルの読み込みは1行ずつ行われるようなので、ループに工夫が必要だ。フラグ1個でなんとかなるかな・・・?

あと、「インデックス」になるページは表示しないで、ディレクトリにそのタイトルを表示する事にした。でも、いい方法が浮かばなくて、結局「インデックス」を探すためだけにサブルーチンを作ってしまった・・・。二度手間だ。しかも、正規表現がよくわからない。「HTML-Lint」では「index\.($HTMLEXT)」になっていた($HTMLEXTはhtmlの正規表現)けど、どう解釈していいのかわからない。「\」は「」を示すし、「.」は「.」を示す。では「\.」は何を示すのか?しかも「htmlの正規表現」が「()」で囲まれている。とりあえず消えてはいるけど・・・。大文字小文字を区別するのかと思ったら違うし、「」は(少なくともWindowsでは)ファイル名に使えないし・・・。難しい。

・・・と思っていたけど、謎が解けた。この正規表現は、変数に格納されていたから、実際の文字列としては「index.(html?|[sp]ht(ml)?)」になるんだ。あぁ・・・おバカさんだ・・・。そういうことだったのか。

それに気づいてから、変数文字列を変数に格納してみた。でも、それは文字列として解釈されるのか、思ったとおりにはならなかった。チョット残念。それに「.」をそのまま変数に格納していたのもあった。変数の中身を考えると混乱する・・・。

ついでなので、インデックス以外にHTMLファイルが無い場合は「

    タグ」を書かないようにした。チョットだけこだわり。

    あと、大量に「print」していると、時々書いてないはずの文字が表示される事がある。見た感じでは最後の部分に発生するようだ。何故なのかな?

    ソースコード

respo

respo link

ZenBackWidget

 - 情報技術について