fgetss

(PHP 4, PHP 5, PHP 7)

fgetss從文件指針中讀取一行并過濾掉 HTML 標(biāo)記

說明

fgetss(resource $handle, int $length = ?, string $allowable_tags = ?): string

fgets() 相同,只除了 fgetss() 嘗試從讀取的文本中去掉任何 HTML 和 PHP 標(biāo)記。

參數(shù)

handle

文件指針必須是有效的,必須指向由 fopen()fsockopen() 成功打開的文件(并還未由 fclose() 關(guān)閉)。

length

取回該長度的數(shù)據(jù)。

allowable_tags

可以用可選的第三個參數(shù)指定哪些標(biāo)記不被去掉。

返回值

handle 指向的文件中大讀取 length - 1 個字節(jié)的字符,并過濾了所有的 HTML 和 PHP 代碼。

錯誤發(fā)生時返回 false。

更新日志

版本 說明
5.0.0 參數(shù) length 從 此開始可選。

示例 #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($handle4096);
        echo 
$buffer;
    }
    
fclose($handle);
}
?>

以上例程的輸出類似于:

 Welcome! Today is the  of .

Text outside of the HTML block.

注釋

注意: 在讀取在 Macintosh 電腦中或由其創(chuàng)建的文件時, 如果 PHP 不能正確的識別行結(jié)束符,啟用運(yùn)行時配置可選項(xiàng) auto_detect_line_endings 也許可以解決此問題。

參見

  • fgets() - 從文件指針中讀取一行
  • fopen() - 打開文件或者 URL
  • popen() - 打開進(jìn)程文件指針
  • fsockopen() - 打開一個網(wǎng)絡(luò)連接或者一個Unix套接字連接
  • strip_tags() - 從字符串中去除 HTML 和 PHP 標(biāo)記