今日の人気記事

  1. HTML内でPHPスクリプトを実行 - 埋め込み
  2. ファイルの有無を確認 - file_exists()
  3. 配列を文字列に変換する - implode()
  4. 定数が定義済みかどうかを確認 - defined()
  5. 外部コマンドを実行 - exec()、system()

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. ファイルから1行ずつ読み込む - fgets()
  2. PHP関数リファレンス
  3. ファイル名を変更 - ファイルを移動 - rename()
  4. ファイルを削除 - unlink()
  5. ファイルの有無を確認 - file_exists()
  6. ディレクトリを作成 - mkdir()
  7. ファイルがディレクトリかどうかを確認 - is_dir()

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