今日の人気記事

  1. 配列を文字列に変換する - implode()
  2. 文字列をファイルに書き込む - file_put_contents()
  3. ヒアドキュメント
  4. 論理値 - boolean
  5. OS情報を取得 - php_uname()

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. ファイル名を変更 - ファイルを移動 - rename()
  3. 文字列にファイルを書き込む - fwrite()、fputs()
  4. 親ディレクトリのパスを表示 - dirname()
  5. ディレクトリを作成 - mkdir()
  6. 文字列をファイルに書き込む - file_put_contents()
  7. ユニークなファイル名の一時ファイルを作成 - tempnam()
  8. 相対パスから絶対パスを取得 - realpath()
  9. バイナリセーフにファイルを読み込む - fread()

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