(PHP 4, PHP 5, PHP 7)
fgetss — 从文件指针获取行并剥离 HTML 标签
该函数已在 PHP 7.3.0 中 弃用,并在 PHP 8.0.0 中 移除。强烈建议不要依赖该函数。
与 fgets() 相同,除了 fgetss() 尝试从其读取的文本中剥离任何 NUL 字节、HTML 和 PHP 标签。该函数保留从调用到调用的解析状态,因此它与对 fgets() 的返回值调用 strip_tags() 不等效。
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 运行时配置选项可能有助于解决问题。