FC2ブログ
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--|スポンサー広告||TOP↑
フレームワークを使わず、html出力を行うphpスクリプトを書いたことがあるなら、まず避けては通れない関数にhtmlspecialchars() というのがある。
これは一部のHTML特殊文字を文字実体参照に変更する。
本文中にユーザー入力をそのまま出力した場合、入力にタグがあったときにそのままタグが有効になってしまう。これはページのデザインを破壊する場合もあるし、掲示板などでは勝手にスクリプトを埋め込まれるなどの問題を発生させる。
また、タグ内の属性値も、ダブルクォーテーションなどで勝手に閉じられて、いろいろと書かれてしまう。
この辺を防ぐにはhtmlspecialcharsが大変便利である。というか、その目的のためだけに提供されている関数である。

だが、いくつか問題がある。
まず、同関数はphp他の文字列関数のご多分にもれず、シングルバイト文字列の処理を前提にしているため、日本語などのマルチバイト文字列で不安がある。実際には第三引数に文字コードを指定可能だが、デフォルトはASCIIのようである。
次に、とにかく名前が長い。頻繁に使用すると思われる関数がこんな長くていいのかと言いたい。

もっとも、これらについては適当なラッパー関数を使用することで対処可能である。
perlにはh()という名称の同様の関数があるらしい。そこで、こうする。

function h($val)
{
    return htmlspecialchars($val, ENT_QUOTES, 'EUC-JP');
}

で、htmlに埋め込む時に<?php echo h($foo) ?>で解決。
ちなみに私はさらにnl2brとまとめて

function hbr($val)
{
    return nl2br(htmlspecialchars($val, ENT_QUOTES, 'EUC-JP'));
}

とか作ってある。
(ちなみに、nl2brを使うなら先に改行コードをまとめる処理を入力時にやっておく必要がある)

なお、上記の方法はブラウザにユーザーが入力したタグをタグと解釈させずに入力した通りの文字列として表示させる処理である。単にタグを取り除きたいなら、事前にstrip_tags()を使用するほうが一般的だろう。
私の場合は上記のhbr()をよく使う。理由はphpソース中で表示する文字列を作る場合に、"<br />"なんぞと書かなくていいからである。"\n"で済むし、もしも出力対象がHTMLからただのテキストになっても修正が容易である。(まぁ、まずないとは思うけど。)
というか、strip_tagsはマニュアルを見る限りでは単に正規表現でタグを拾って取り除くだけのようなので、不完全なタグでも削除を行うようだ。
ユーザー入力値をHTMLとして解釈させるような処理自体が結構面倒なので、基本的にはユーザー入力値はHTML埋め込み段階でひたすらhtmlspecialchars()しとけばいいと思う。
というか、strip_tags()って使ったことないんだよね。
スポンサーサイト
04/08|プログラムコメント(0)トラックバック(0)TOP↑
私の住む東京都西部には国立(くにたち・こくりつではない)を発祥とするローカル食、スタ丼が存在する。
これは豚バラ肉を加熱調理し、にんにく醤油で味付けしたものである。
ローカル食と言ったが、ぶっちゃけ、東京都西部を中心に展開するスタ丼のお店のメニューである。

まれに2chのローカル食関連のスレッドで紹介されていることもある。

特徴としてはかなり量が多い。吉野家の牛丼で換算するとおよそ特盛よりわずかに少ない程度だろう。また、味付けがにんにく主体であるため、味も強い。これで味噌汁がついて550円とはおなかがすいた場合にうってつけである。(注:なお、一部店舗は味噌汁抜きで600円だったりする。上記サイトじゃ550円としかないのに。あと、味噌汁はモノが違う場合があるようだ。)

何度か家での調理法を研究した。いまだに納得のいく味にはならない。なお、単にスタ丼の味を模倣してもつまらないので、よりマイルドな味付けを目指している。
肉400gに対して2片ではにんにくが足りない。どうやら相当使うらしい。また、ねぎを忘れてはならない。海苔が使用されていて、これが意外と重要である。生玉子は大きなどんぶりに対してM玉を使用することから、一般家庭のどんぶりにL玉を使うと卵が過剰になる可能性がある。注意が必要である。

さて、私が家で作る場合の調理法だが肉を炒めて、あらかじめ作っておいたにんにく醤油で味付けして終わりであり、それ以上は何もない。
とりあえず中華鍋をほどほどに熱し、油を入れ(大さじ1~2程度)、豚肉を投入して炒めて、色が変わったらすぐにねぎを投入して混ぜ、続いてにんにく醤油を投入して軽く炒めたら終わりである。肉を炒めすぎると固くなるので、素早く行う必要がある。
本来は大量の油を利用して茹でるようであるが、家庭では難しいので簡略化している。
あとはどんぶりに盛ったたっぷりの御飯の上に乗っけて終了である。

いずれにせよ、一度食してみることをお勧めする。人によっては二度と食べたくないという感想を抱いたり、逆に毎日食べる場合があったりと、好みが激しく分かれるほど強烈な食品である。

ああ、そうだった。もし君が家庭での完全再現を目指すのであれば、真黄色のたくあんを忘れてはならない。
04/07|雑記コメント(0)トラックバック(0)TOP↑
DS-A1Xだが、結局iPodをGXW-2.1にステレオミニピン・RCAペア(ステレオ)変換アダプタ経由で、SE-U55SXで使ってるケーブルにつないで聴いてみたら、普通に低音も良い感じに出てた。
まあ、それでもiPodよりSE-U55SXのがいいのだが。

で、最近はiTunesのイコライザをまたいじり始めた。
GXW-2.1の35Hz程度まで再生できるサブウーファー前提で作った設定が次のとおり。iTunes イコライザ1

一般的なドンシャリは125Hzを思いっきり持ち上げて、それ以下は下げるんだけど(iTunesイコライザの究極の設定とかいうやつ等)、そもそも再生能力がある場合は変な音になるだけだったり。
あと、iTunesのデフォルトのプリセットにあるDanceなんかだと64Hzが低音側のピークで、あれはあれでいいんだけど。
しかし、これだと低音が無意味に強いんだよな。結局イコライザなしのが素直でよかったり。

そして、すでにこのプリセットの設定を変更している私だった。高音側を全体的に持ち上げつつ、低音を少し弱くしてみたり。
04/01|雑記コメント(0)トラックバック(0)TOP↑
プロフィール

G.U.Nex

Author:G.U.Nex
職業:プログラマ
趣味:ゲーム(PC、コンシューマ)、ネットサーフィン、ニコニコ動画視聴、プログラミング、鉄道全般
PHP, C, C++, VB(系), Java, JavaScriptを使える。
最近はRubyにはまってる。

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブロとも申請フォーム
ブログ内検索
RSSフィード
リンク
フリーエリア
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。