fgetss 从文件指针中读取一行并过滤掉 HTML 标记

发表日期:2021-07-01 08:55:41 | 来源: | | 浏览(903) 分类:文件系统函数

fgetss

(PHP 4, PHP 5, PHP 7)

fgetss从文件指针中读取一行并过滤掉 HTML 标记

说明

fgetss(resource $handle, int $length = ?, string $allowable_tags = ?): string

fgets() 相同,只除了 fgetss() 尝试从读取的文本中去掉任何 HTML 和 PHP 标记。

参数

handle

文件指针必须是有效的,必须指向由 fopen()fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。

length

取回该长度的数据。

allowable_tags

可以用可选的第三个参数指定哪些标记不被去掉。

返回值

handle 指向的文件中大读取 length - 1 个字节的字符,并过滤了所有的 HTML 和 PHP 代码。

错误发生时返回 false

更新日志

版本 说明
5.0.0 参数 length 从 此开始可选。

示例 #1 一行行读取一个 PHP 文件

<?php 
$str = <<<EOD<html><body> <p>Welcome! Today is the <?php echo(date('jS'));
 ?> of <?= date('F');
 ?>.</p></body></html>Text outside of the HTML block.EOD;
file_put_contents('sample.php', $str);
$handle = @fopen("sample.php", "r");
if ($handle) {
    while (!feof($handle)) {
        $buffer = fgetss($handle, 4096);
        echo $buffer;
    }
    fclose($handle);
}
?>

以上例程的输出类似于:

 Welcome! Today is the  of .

Text outside of the HTML block.

注释

注意: 在读取在 Macintosh 电脑中或由其创建的文件时, 如果 PHP 不能正确的识别行结束符,启用运行时配置可选项 auto_detect_line_endings 也许可以解决此问题。

参见

  • fgets() - 从文件指针中读取一行
  • fopen() - 打开文件或者 URL
  • popen() - 打开进程文件指针
  • fsockopen() - 打开一个网络连接或者一个Unix套接字连接
  • strip_tags() - 从字符串中去除 HTML 和 PHP 标记

集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。