Humanity

Edit the world by your favorite way

RTF (Rich Text Format) ファイルの PHP パーサーライブラリと、中身のテキストを抽出する CLI フロントエンドプログラム作った

github.com

作りました。 README の通りまだ RTF ファイルを解析してテキスト化する機能しか持ってません (extract-text-from-rtf.php スクリプトを見て下さい)。

特徴

まだ機能が無さすぎて特にないのですが、あえて言うなら日本語に限らず、任意のコードページでエンコードされた RTF ファイルの内容をちゃんと表示できるはずです (もちろん日本語含めて)。 つまり日本語環境の Windows (=現在のロケールが CP932) で作った RTF ファイルをちゃんと文字化けせず表示できたりします。 コードページは \ansicpg という制御ワード (control word) でコードページを指定するのですが、ちゃんとそれを読み取って変換してくれます。

…という機能を今付けました (CP932 固定だった)。

あとちゃんとパースしてノード作ったりしてるので、ある程度汎用的な作りになってます (流石にトークン毎に分解まではしてなくて、RTF ファイルから各ノードに変換してます)。 今後何らかの機能を追加する予定は今の所ないですが、何か要望等ありましたら issue でも挙げて下さい。 もちろん pull request も歓迎です。

というか PHP まだよく分かってないので全体的に指摘あれば教えて頂けると… :(´ཀ`」 ∠):

RTF ファイルの仕様について

お世話になった参考元です。