HTMLタグを削除し、ファイルから1行ずつ読み込む - fgetss()
当ページのリンクには広告が含まれています。
プログラミング言語PHPで、HTMLタグを取り除きながら(削除しながら)、ファイルから1行ずつ読み込む関数 fgetss()を紹介します。
fgetss関数
string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )
HTMLタグを取り除きながら、ファイルから1行ずつ読み込みます。
引数 $handle fopen関数で正常にオープンされた、有効なファイルポインタを指定します。 $length 取得するデータの長さを指定します。 $allowable_tags 取り除かないHTMLタグを指定します。
返り値
HTMLタグが取り除かれたファイルデータを文字列で返します。
サンプルコード
指定したHTMLファイル(test.html)からファイルを読み込み、HTMLタグを削除するサンプルコードです。
fgetss( ファイルポインタ )
<?php /* 読み込むHTMLファイルを作成 */ $str = <<<EOD <html><body> <p>Hello!</p> <p><b>PHP</b></p> </body></html> EOD; file_put_contents('test.html', $str); /* ファイルポインタをオープン */ $file = fopen("test.html", "r"); /* ファイルを1行ずつ配列へ */ if( $file ){ while( !feof($file) ){ echo fgetss( $file ); } } /* ファイルポインタをクローズ */ fclose($file); ?>
実行結果です。読み込んだファイルからHTMLタグが削除され、その他の部分が文字列として返されています。
Hello! PHP
サンプルコード - 取り除かないHTMLタグを指定
指定したファイル(test.html)からファイルを読み込み、指定した取り除かないHTMLタグ以外のHTMLタグを削除するサンプルコードです。
fgetss( ファイルポインタ, データの長さを指定, 取り除かないHTMLタグ )
<?php /* 読み込むHTMLファイルを作成 */ $str = <<<EOD <html><body> <p>Hello!</p> <p><b>PHP</b></p> </body></html> EOD; file_put_contents('test.html', $str); /* ファイルポインタをオープン */ $file = fopen("test.html", "r"); /* ファイルを1行ずつ配列へ */ if( $file ){ while( !feof($file) ){ echo fgetss( $file, 4096, "<p>,<b>" ); } } /* ファイルポインタをクローズ */ fclose($file); ?>
実行結果です。指定したpタグ、bタグ以外のHTMLタグが取り除かれています。
<p>Hello!</p> <p><b>PHP</b></p>