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()
打开文件或者 URLpopen()
打开进程文件指针fsockopen()
打开一个网络连接或者一个Unix套接字连接strip_tags()
从字符串中去除 HTML 和 PHP 标记