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