header

PHPでHTMLをテキスト・ファイルに変換する

(1/3)

PHPを用いると、HTMLコンテンツを簡単にテキスト・ファイルに変換することができる。また、EUCやUTF-8で記述されたコンテンツをシフトJISに変換することも簡単にできる。
そこで今回は、インターネット上のHTMLコンテンツをシフトJISに変換するプログラムを紹介する。

HTMLコンテンツをテキスト・ファイルに変換するプログラム

0001: <?php
0002: // ここからPHPプログラム =======================================================
0003: /**html2txt.php
0004:  * HTMLをテキスト形式ファイルに変換する
0005:  * @copyright   (c)studio pahoo
0006:  * @author      パパぱふぅ
0007:  * @version     1.0  2005/01/11
0008: */
0009: //初回起動時
0010: if (isset($_POST["uri"]) == FALSE) {
0011: // ここまでPHPプログラム =======================================================
0012: ?>
0013: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
0014:  "http://www.w3.org/TR/html4/loose.dtd">
0015: <html lang="ja">
0016: <head>
0017: <meta http-equiv="Content-ype" content="text/html; charset=Shift_JIS" />
0018: </head>
0019: <body>
0020: 
0021: <p>■HTMLテキスト形式ファイルに変換する</p>
0022: <form method="post" action="./html2txt.php">
0023: URL:<input name="uri" type="text" size="80" />
0024: <input type="submit" name="Submit" value="変換" />
0025: </form>
0026: 
0027: </body>
0028: </html>
0029: 
0030: <?php
0031: // ここからPHPプログラム =======================================================
0032: //ファイル名が入力されている
0033: } else {
0034: header("Content-Disposition: attachment; filename=download.txt");
0035: mb_internal_encoding("Shift_JIS");
0036: 
0037: $source_file = $_POST["uri"];                   //URL
0038: $fp_in  = fopen($source_file, "r");
0039: 
0040: while (! feof($fp_in)) {
0041:     $str = fgetss($fp_in, 1000);        //HTMLタグを除いた1行読み込み
0042:     $str = mb_convert_encoding($str, "Shift_JIS", "Shift_JIS, EUC-JP, UTF-8");
0043:     $str = trim($str);                  //空白文字を除く
0044:     if (strlen($str) > 0)   print $str . "\n";  //0文字以上なら出力する
0045: }
0046: 
0047: fclose($fp_in);
0048: }
0049: // ここまでPHPプログラム =======================================================
0050: ?>

プログラムを実行する

プログラムを実行すると、URLを入力するテキストボックスが表示される。 変換対象のURLを入力し[変換]ボタンを押すと、変換され、テキスト・ファイルを保存するか否かを問い合わせてくる。