PHP | fgetss 函數

怎樣按行讀取文件並去除 HTML 和 PHP 標籤

最近更新時間 2021-01-01 12:28:47

fgetss 函數從文件指針中讀取一行並過濾掉 HTML 標記。

fgetss() 函數接收三個參數,其中文件指針為必填項。該函數和 fgets() 相同,只除了 fgetss() 嘗試從讀取的文本中去掉 HTML 和 PHP 標記。函數返回讀取的字符串,如果遇到錯誤或者沒有更多數據返回 false。

函數定義

fgetss ( resource $handle [, int $length [, string $allowable_tags ]] ) : string

參數

  • checkhandle - 文件指針。文件指針必須有效,並且是通過 fopen() 或 fsockopen() 函數成功打開的文件(並還未由 fclose() 關閉)。
  • checklength - 取回該長度的數據。
  • checkallowable_tags - 可以用可選的第三個參數指定哪些標記不被去掉。

返回值

  • checkstring - 從指針 handle 指向的文件中讀取 length - 1 字節後返回字符串。錯誤或者文件結尾返回 false。

示例1: - 使用 fgetss() 函數從文件指針中讀取一行並過濾掉 HTML 標記。

<?php
/**
 * PHP 使用 fgetss() 函數從文件指針中讀取一行並過濾掉 HTML 標記。
 *
 * @since Version 1.0.0
 * @filesource
 */

// 打開文件
$handle = fopen('foo.txt', 'r');

// 按行讀取文件
if ($handle) {
  while (($line = fgetss($handle)) !== false) {
    
  }

  // 檢測文件是否到結尾,防止異常終止
  if (!feof($handle)) {
    echo "Error: unexpected fgetss() fail\n";
  }

  // 關閉文件
  fclose($handle);
}
rss_feed