(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>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.
注意:如果 PHP 在讀取由 Macintosh 電腦建立或在 Macintosh 電腦上讀取檔案時無法正確辨識行尾,啟用 auto_detect_line_endings 執行階段設定選項可能有助於解決此問題。