今日の人気記事

  1. 変数を文字列型に変換 - strval関数

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>

ファイル の人気記事

  1. ファイルの中身を配列に格納 - file()
  2. ファイルがディレクトリかどうかを確認 - is_dir()
  3. ファイルから1行ずつ読み込む - fgets()
  4. 文字列をファイルに書き込む - file_put_contents()
  5. PHP関数リファレンス

関連記事(一部広告含む)