|
Tips対決Web版!
—HTMLソースからタグを抜く方法
) | 茂田 カツノリ
text by Katsunori Shigeta |
| |
FileMakerは複雑なテキスト処理が容易にできるので、HTMLの生成や変換に使っている人も多いだろう。その中で、HTMLのソースからタグを抜いてテキストを抽出する方法について、ご紹介しよう。
●無料のプラグインを使う方法
バージョン6までなら、Jazz-Utilsという無料のプラグインがあり、これの「Jazz-Strip HTML」という関数で実現ができた。
・Jazz-Utils http://www.jazzmedia.com.au/jazzutils.html
このプラグインは7以降のFileMakerでも使えるが、Mac版では上記ページにもあるようにプラグインのファイル名を変更する必要があるので気をつけよう。また、過去の製品なのでUniversal Binary化はされていないから、8.5+intel macではRosettaモードで使う必要があり、現実的ではない。
●カスタム関数を使う方法
バージョン7以降なら、カスタム関数を使って実現可能だから、こちらを利用すべきだ。カスタム関数は下記で入手できる。
・Brian Dunningさんのページ http://www.briandunning.com/filemaker-custom-functions/
ここで「HTML」と検索すると登場する「HTMLtoText ( text ; returns )」という関数で、テキスト抽出が実現する。このカスタム関数を動作させるには、
HTMLtoText_convertStyle ( text ) HTMLtoText_deleteTags ( text )
の2つのカスタム関数が必要なので、まずこれらを登録した後に、最後に「HTMLtoText ( text ; returns )」を登録しよう。
HTMLtoText ( text ; returns )」の使い方はとても簡単で、最初の引数「text」部にHTMLソースが入るフィールドを指定し、「returns」は改行1つなら"single"、2つ付けたいなら"double"とするだけだ。
結果のテキストは、HTMLコードの内容に応じたスタイルが付いてて便利。もしスタイルが不要なら、 TextFormatRemove(HTMLtoText ( HTML ; "single" )) ...Ver.8以降 Evaluate(Quote(HTMLtoText ( HTML ; "single" ))) ...Ver.7 という式にすればよい。
|