FREEBOX IV

かりっちのブログ 《 超個人的メモブログ 》

【PHP】二重引用符(ダブルクオート) (PHPヘルプより抜粋)

2007年03月08日 | Tips

文字列が二重引用符 (") で括られた場合、 PHP は、より多くの特殊文字のエスケープシーケンスを理解します。

表 エスケープされた文字

記述 意味

\n

ラインフィード (LF またはアスキーの 0x0A (10))

\r

キャリッジリターン (CR またはアスキーの 0x0D (13))

\t

水平タブ (HT またはアスキーの 0x09 (9))

\\

バックスラッシュ

\$

ドル記号

\"

二重引用符

\[0-7]{1,3}

正規表現にマッチする文字シーケンスは、8 進数表記の 1 文字です。

\x[0-9A-Fa-f]{1,2}

正規表現にマッチする文字シーケンスは、16 進数表記の 1 文字です。

この他の文字をエスケープしようとした場合には、 バックスラッシュも出力されます!

スクリプトが二重引用符で括られるかヒアドキュメントで指定された場合、 その中の変数はパースされます。

ドル記号 ($) を見付けると、 パーサは、有効な変数名を形成することが可能な最長のトークンを取得します。 変数名の終りを明示的に指定したい場合は、変数名を波括弧で括ってください。

$beer = 'Heineken';
echo "$beer's taste is great"; // 動作します。"'" は変数名として無効な文字です。
echo "He drunk some $beers"; // 動作しません。's' は、変数名として有効な文字です。
echo "He drunk some ${beer}s"; // 動作します。
echo "He drank some {$beer}s"; // 動作します。

同様に、配列添字とオブジェクトのプロパティをパースすることも可能です。 配列添字の場合、閉じ角括弧 (']') は添字の終りを意味し、 オブジェクトのプロパティの場合、同じ規則が簡単な変数として適用されます。 しかし、オブジェクトプロパティには、変数の場合のような手法はありません。


【用語】自然言語処理用語

2007年03月08日 | 日記

◆シソーラス
 類語辞典の一種といえるが、一般的な類語辞典は五十音順に項目立てがされているのに対し、シソーラスは語彙の持つ意味から、大分類-中分類と下っていき、目的の単語に達することができるようになっている。
Wikipedia

◆コーパス
 コンピュータによる検索が可能になっている大量の言語データのこと。日本語や英語のような特定の言語、あるいは複数の言語での、テキストデータ・音声データの集まり。
Wikipedia

◆オントロジー
 それぞれの文書の内容を説明する意味情報(メタデータ)を各文書に付加し、メタデータを記述する用語を定義する構造を構築する。この構造がオントロジーとなる。
 オントロジーを導入することにより、検索対象となる文書が単なる単語の集まりとしてではなく、文書全体で大きな意味を持ったデータとして扱われ、各文書について統一的な付加情報をもたせることができる。これにより、本当に必要な情報を的確に検索することが可能となる。
 このように、メタデータとオントロジーの技術を用い、文書の意味に即した処理を計算機が行うことが出来るウェブをセマンティックウェブと呼び、次世代の検索技術が実現されることなどで期待されている。
Wikipedia

 


【HTML】iモードサイトの<FORM>の記述で注意すること

2007年03月08日 | Tips

◆FORMのINPUTフィールドが表示されない!
 <FORM>タグの属性に action=" " が含まれていないと,FORMが表示されません!!
中身が空白でも必要です.

◆初期入力方式が設定できない!
 iモード対応XHTML記述において,<INPUT>タグに下記のstyle属性を記述することで,初期入力方式を設定できる.
公式サイト「作ろうiモードコンテンツ」の記述は,文字がエスケープ記述されていて
間違うので注意!!
>>URL

・漢全
 style="-wap-input-format:'*<ja:h>'"
・カナ半
 style="-wap-input-format:'*<ja:hk>'"
・数半
 style="-wap-input-format:'*<ja:n>'"
・英半
 style="-wap-input-format:'*<ja:en>'"


【PHP】3gp映像ファイルから時間長を取得する方法

2007年03月01日 | Tips

QuickTime形式(moov)の映像から映像長を返却する方法を紹介します.
【参考URL】
MQVで学ぶQuickTime Atomフォーマット(その1)
MQVで学ぶQuickTime Atomフォーマット(その4)

実は,apple社が提供しているフリーソフト「dumpster」 を使用して、3gpファイルのAtom構造を表示・修正できます.Atom構造の勉強にもなります.
>>DL

一番簡単に実装する方法は,既存のgetID3ライブラリ(GPL)を使うのがよいのかも.
>>DL

下記のスクリプトは,3gpファイルから,Movie header atom構造における,映像の時間長の情報が格納されている,mvhd の部分を抽出し,直接バイナリデータとして時間長を取得しています.最終的には,バイナリデータから10進数情報に変改しています.

<?php
  $filename = "ファイル名";
  $handle = fopen($filename, "rb");
  // ファイル読み込み
  $contents = fread($handle, filesize($filename));
  
  // moov/mvhd (Movie header atom)の文字列を検索
  $findkey = 'mvhd';
  $pos1 = stripos($contents, $findkey);
  $pos2 = $pos1+strlen($findkey)+12;
  
  //バイナリ情報を16進数文字列に変化し10進数に変換(もっとスマートな方法ないかな?)
  $timeScale_bin = substr($contents, $pos2, 4);
  $timeScale  = hexdec(bin2hex($timeScale_bin));
  
  $duration_bin = substr($contents,($pos2+4),4);
  $duration = hexdec(bin2hex($duration_bin));
  
// タイムスケールがファイル毎に違うので,正規化した時間長を計算
  $normalizedDuration = $duration/$timeScale;
  
  fclose($handle);

?>