• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • fgetss()

    (PHP 4, PHP 5, PHP 7)

    从文件指针中读取一行并过滤掉 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从此开始可选。

    一行行读取一个 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.
    

    注释

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

    参见

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

    上篇:fgets()

    下篇:file_exists()