(PHP 4, PHP 5, PHP 7)
fgetss — 从文件指针获取行并去除 HTML 标签
此函数自 PHP 7.3.0 起已弃用,自 PHP 8.0.0 起已移除。强烈建议不要依赖此函数。
与 fgets() 相同,只是 fgetss() 会尝试去除它读取的文本中的任何空字节、HTML 和 PHP 标签。该函数会保留从一次调用到下一次调用的解析状态,因此它与对 strip_tags() 调用 fgets() 的返回值并不等效。
handle
文件指针必须有效,并且必须指向由 fopen() 或 fsockopen() 成功打开(并且尚未由 fclose() 关闭)的文件。
length
要检索的数据长度。
allowable_tags
可以使用可选的第三个参数来指定不应去除的标签。有关 allowable_tags
的详细信息,请参见 strip_tags()。
示例 #1 按行读取 PHP 文件
<?php
$str = <<<EOD
<html><body>
<p>欢迎!今天是 <?php echo(date('jS')); ?> <?= date('F'); ?>。</p>
</body></html>
HTML 块外的文本。
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.
注意:如果 PHP 在读取 Macintosh 计算机上或由其创建的文件时无法正确识别换行符,则启用 auto_detect_line_endings 运行时配置选项可能有助于解决此问题。