PHP Japan Conference 2024

fgetss

(PHP 4, PHP 5, PHP 7)

fgetss从文件指针获取行并去除 HTML 标签

警告

此函数自 PHP 7.3.0 起已弃用,自 PHP 8.0.0 起已移除。强烈建议不要依赖此函数。

描述

fgetss(资源 $handle, 整数 $length = ?, 字符串 $allowable_tags = ?): 字符串

fgets() 相同,只是 fgetss() 会尝试去除它读取的文本中的任何空字节、HTML 和 PHP 标签。该函数会保留从一次调用到下一次调用的解析状态,因此它与对 strip_tags() 调用 fgets() 的返回值并不等效。

参数

handle

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

length

要检索的数据长度。

allowable_tags

可以使用可选的第三个参数来指定不应去除的标签。有关 allowable_tags 的详细信息,请参见 strip_tags()

返回值

返回从 handle 指向的文件中读取的最多 length - 1 个字节的字符串,其中所有 HTML 和 PHP 代码均已去除。

如果发生错误,则返回 false

范例

示例 #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 运行时配置选项可能有助于解决此问题。

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top