PHP 文件系统 fgetss() 函数



PHP 文件系统fgetss()函数从打开的文件中返回一行,同时删除所有 PHP 和 HTML 标记。当您想要读取文件中的内容并确保不存在不需要的格式标记或代码时,这很有用。

此函数类似于 fgets() 函数,不同之处在于fgetss()函数可以尝试从其读取的文本中去除任何 HTML 和 PHP 标记。

语法

以下是 PHP 文件系统fgetss()函数的语法:

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

参数

以下是fgetss()函数的必需和可选参数:

序号 参数和描述
1

handle(必需)

您要从中读取的文件句柄资源。

2

length(可选)

它定义要读取行的最大长度。

3

allowable_tags (可选)

它是一个包含您希望在返回的字符串中允许的 HTML 标记列表的字符串。

返回值

该函数在从文件行中删除 HTML 和 PHP 标记后创建一个字符串。当发生错误或到达文件末尾 (EOF) 时,它返回 FALSE。

PHP 版本

fgetss()函数最初作为核心 PHP 4 的一部分引入,并且与 PHP 5、PHP 7 配合良好。此函数已在 PHP 7.3.0 中弃用,并从 PHP 8.0.0 版本中删除。强烈建议不要单独使用此函数。

示例

此 PHP 代码将向您展示 PHP 文件系统fgetss()函数的基本用法。并读取文件内容并在删除 HTML 和 PHP 标记后打印内容。

<?php
   $handle = @fopen("/PhpProject/test.php", "r");
   if ($handle) {
      while (!feof($handle)) {
         $buffer = fgetss($handle, 4096);
         echo $buffer;
      }
      fclose($handle);
   }
?>

输出

这将产生以下结果:

Welcome to Tutorialspoint  

示例

现在我们将尝试从给定的文件内容中过滤自定义标记。并使用fgetss()函数来处理此过程。此外,我们还使用了 fopen()、feof() 和 fclose() 函数,而不是fgetss()

<?php
   $handle = @fopen("/PhpProject/test.php", "r");
   if ($handle) {
      while (!feof($handle)) {
         $buffer = fgetss($handle, 4096, "<p>, <b>");
         echo $buffer;
      }
      fclose($handle);
   }
?>

输出

这将生成以下结果:

Welcome to Tutorialspoint

示例

在此示例中,我们将使用fgetss()函数从 PHP 文件中读取并删除 PHP 代码。

<?php
   // Open the html file here using fopen()
   $handle = fopen("/Applications/XAMPP/xamppfiles/htdocs/mac/index.php", "r");

   if ($handle) {
      while (!feof($handle)) {
         $buffer = fgetss($handle, 4096);
         echo $buffer;
      }
      fclose($handle);
   } else {
      echo "Unable to open file.";
   }
?> 

输出

这将创建以下结果:

echo "This is the example of fgetss function.";

示例

在此示例中,我们将使用fgetss()函数从给定文件中读取并过滤不需要的内容。将在每次迭代中从文件中读取的数量由缓冲区大小定义,即 4096。

<?php
   // Open the html file here using fopne()
   $handle = fopen("/Applications/XAMPP/xamppfiles/htdocs/mac/myfile.md", "r");

   if ($handle) {
      while (!feof($handle)) {
         $buffer = fgetss($handle, 4096, "<p>,<b>,<h1>,<h2>,<h3>");
         echo $buffer;
      }
      fclose($handle);
   } else {
      echo "Unable to open file.";
   }
?> 
myfile.md
# This is an Example

This is **Tutorialspoint** Website.

## Subheading

This is a great platform for learning.

### Another Subheading

Learn and Explore.

输出

这将创建以下结果:

This is an Example
This is Tutorialspoint Website.
Subheading
This is a great platform for learning.
Another Subheading
Learn and Explore.

注意

重要的是要知道,使用fgetss()函数时,它会从内容中删除 PHP 和 HTML 标记。但从 PHP 7.3.0 开始,它已弃用,在 PHP 8.0.0 中已完全删除。

总结

在 PHP 中,fgetss()函数可用于读取文件中的行,同时删除 HTML 和 PHP 元素。它接受一个文件句柄、一个可选的字符串参数,该参数指示要包含在返回字符串中的允许 HTML 标记,以及一个可选的长度参数,该参数显示要读取的最长行。

php_function_reference.htm
广告