hnwの日記

2009-01-01から1年間の記事一覧

PHPでマルチバイト対応のtrim関数を作る

PHP

(2009/06/29)追記4:本記事のmb_trim関数が動かない環境があったので、詳細を「PCREはUnicode文字プロパティをサポートするとは限らない」にまとめました。よりポータブルなmb_trim関数も紹介していますので、併せてご覧ください。 追記:「mb_ereg_match(…

mb_check_encodingは何をチェックするのか(その3 UTF-8編)

PHP

(2009/10/05追記)「サロゲートペアに相当する3バイト表現も正しいとみなしている」という件はバグとしてPHP5.3.0から修正されているようです。id:moriyoshiさんに超感謝。 PHPのmb_check_encoding関数の調査、おそらく今回が最終回です。今回はUTF-8につい…

mb_check_encodingは何をチェックするのか(その2 EUC-JP編)

PHP

前回に引き続き、PHPのmb_check_encoding関数について調べてみます。今回はEUC-JP、eucJP-win、CP51932の3つについて調べてみました。

mb_check_encodingは何をチェックするのか(その1 SJIS編)

PHP

(2009/02/15 17:20)「個人的な感想」を追記しました。また、下記はPHP5.2.1以降の挙動です。PHP5.2.0以前のmb_check_encodingは更にカオスなので、あまり使い物にならないと思います。 (2009/02/16 12:30)追記2:バグっぽいと思った件は本当にバグで、修正が…

PHPとRubyとPythonのparserをいじめてみた

PHP

下記のようなプログラムを与えると、PHPのparserが「無理っす」と言って死にます。

ポータブルなシェルスクリプトによるパズル (1) find

追記:内容を伴っていなかったのでタイトルを変更しました。どう考えても入門講座になる気配がありません。 以前の記事「シェルスクリプトでシンボリックリンク先が同一かチェックする方法」での疑問点は「自分の書いたシェルスクリプトがポータブルかどうか…

array_unique関数の重複の意味に注意

PHP

僕は滅多に使わないのですが、PHPにはarray_uniqueという関数があります。 array_unique ― 配列から重複した値を削除する 説明 array array_unique ( array $array [, int $sort_flags ] ) array を入力とし、値に重複のない新規配列を返します。 PHP: array…

PHPで==の代わりにstrcmp関数を使うことによる問題点

PHP

補足(2010/12/01 03:00):floatからstringへのキャストで丸められる桁数についてですが、php.iniの設定値「precision」の影響を受けるようです。 僕は以前から「PHPの==はキモいから===を使おうよ」と言っているつもりです(参考:「PHPの==がキモい件」)。…

Emacs Lispのバッククォート

Emacs Lispではバッククォートが高機能(?)なquote(=シングルクォート)として使える、という事実を知りました。リファレンスマニュアルに詳細が書いてあります。 GNU Emacs Lispリファレンスマニュアル: 8.3 クォート GNU Emacs Lispリファレンスマニュア…

phpallコマンドでPHPの全バージョンの挙動を試す

PHP

追記:1/13頃まで、install-all-php.shにバグがありました。ごめんなさい。今は全バージョンを一気にコンパイルできるはずです。 第38回PHP勉強会でも紹介しましたが、私はPHP5.0.0〜PHP5.2.8までの全バージョンのPHPバイナリを持っています。これはPHPのバ…

シェルスクリプトでシンボリックリンク先が同一かチェックする方法

「シェルスクリプト中でシンボリックリンクのリンク先を比較したい -OKWave」というページを見つけたんですが、もっとスマートに出来る気がしたので紹介します。どうやら-ef演算子が利用できるようです。(確証は無いのですが、私の手近では反例を見つけられ…

IEs4Linux/ies4osxのライセンスは大丈夫なのか

追記:ブックマークコメントで、「WindowsとIEはライセンス上切り離せないよ」とEULAに書いてあるとの指摘がありました。該当しそうな英文を僕も見つけまして、どうやら事実っぽいと考えています。今度真面目にEULAを読んだ上で続報を書きたいと思います。 W…

なぜSuhosinを使うのか

PHP

Suhosinプロジェクトのドキュメント「Suhosin - Why ?」を日本語訳してみました。慣れた方の翻訳とはかけ離れた出来だと思います。というのも、日本語として自然な言い回しに変えようとした部分があり、翻訳としては少々問題があるかもしれません。また、僕…