PHP 5.4.31 Released

fgetss

(PHP 4, PHP 5)

fgetssPobiera linię ze wskaźnika pliku i usuwa znaczniki HTML

Opis

string fgetss ( resource $uchwyt [, int $długość [, string $dozwolone_tagi ]] )

Działa identycznie jak fgets(), oprócz tego że fgetss() próbuje usunąć wszystkie bajty NUL, znaczniki HTML i PHP z tekstu, który przeczyta.

Parametry

uchwyt

Wskaźnik na plik musi być poprawny i musi wskazywać na plik pomyślnie otwarty przez funkcję fopen() lub fsockopen() (a jednocześnie nie zamknięty jeszcze przez fclose()).

długość

Długość danych do pobrania.

dozwolone_tagi

Możesz użyć opcjonalnego trzeciego parametru do określenia które znaczniki nie powinny być usunięte.

Zwracane wartości

Zwraca łańcuch znaków o długości - 1 bajtów odczytanych ze wskaźnika pliku wskazanego przez uchwyt, pozbawionego całego kodu HTML i PHP.

W przypadku błędu zwraca FALSE.

Rejestr zmian

Wersja Opis
5.0.0 Parametr długość jest opcjonalny.

Przykład #1 Czytanie pliku PHP linia po linii

<?php
$str 
= <<<EOD
<html><body>
 <p>Witaj! Dziś jest <?php echo(date('jS')); ?> z <?= date('F'); ?>.</p>
</body></html>
Tekst po za blokiem HTML.
EOD;
file_put_contents('przyklad.php'$str);

$uchwyt = @fopen("przyklad.php""r");
if (
$uchwyt) {
    while (!
feof($uchwyt)) {
        
$bufor fgetss($uchwyt4096);
        echo 
$bufor;
    }
    
fclose($uchwyt);
}
?>

Powyższy przykład wyświetli coś podobnego do:

 Witaj! Dziś jest  z .

Tekst po za blokiem HTML.

Notatki

Informacja: Jeśli PHP niewłaściwie rozpoznaje znaki końca linii podczas odczytu plików stworzonych lub znajdujących się na komputerach Macintosh, problem może rozwiązać włączenie dyrektywy konfiguracyjnej auto_detect_line_endings .

Zobacz też:

  • fgets() - Pobiera linię ze wskaźnika pliku
  • fopen() - Otwiera plik lub URL
  • popen() - Otwiera wskaźnik pliku do procesu
  • fsockopen() - Open Internet or Unix domain socket connection
  • strip_tags() - Strip HTML and PHP tags from a string

add a note add a note

User Contributed Notes 1 note

up
1
AllenJB
1 day ago
The `fgetss()` function keeps the strip_tags state between reads to provide consistent results; observe the following example:

hello <html>
<?php
echo "we don't want this;"
?>
</html> world

This should rightfully output only "hello world" (and some newlines); if you would apply `strip_tags()` on each individually read line, you would also get stuff you don't want.

Source: http://news.php.net/php.internals/76247
To Top