PHP 5.4.31 Released

fgetss

(PHP 4, PHP 5)

fgetss Liest eine Zeile von der Position des Dateizeigers und entfernt HTML Tags.

Beschreibung

string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )

Diese Funktion ist identisch mit der Funktion fgets(), außer dass fgetss() versucht, vorhandene NUL-Bytes sowie HTML und PHP-Tags aus dem gelesenen Text zu entfernen.

Parameter-Liste

handle

Der Zeiger auf eine Datei muss gültig sein und auf eine Datei verweisen, die vorher erfolgreich mit fopen() oder fsockopen() geöffnet (und nicht bereits von fclose() geschlossen) wurde.

length

Länge der zu lesende Eingabe.

allowable_tags

Über den optionalen dritten Parameter können Tags angegeben werden die nicht entfernt werden sollen.

Rückgabewerte

Returns a string of up to length - 1 bytes read from the file pointed to by handle, with all HTML and PHP code striped.

Falls ein Fehler auftritt wird FALSE zurückgegeben.

Changelog

Version Beschreibung
5.0.0 Der Parameter length ist nun optional

Beispiel #1 Reading a PHP file line-by-line

<?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);
}
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Welcome! Today is the of .

Text outside of the HTML block.

Anmerkungen

Hinweis: Wenn Sie Probleme damit haben, dass PHP Zeilenendezeichen nicht erkennt, entweder beim Lesen von Dateien auf einem Macintosh oder bei Dateien, die auf einem Macintosh erstellt wurden, können Sie die Option auto_detect_line_endings aktivieren.

Siehe auch

  • fgets() - Liest eine Zeile von der Position des Dateizeigers
  • fopen() - Öffnet eine Datei oder URL
  • popen() - Öffnet einen Prozesszeiger
  • fsockopen() - Stellt eine Internet- oder Unix-Domain-Socket-Verbindung her
  • strip_tags() - Entfernt HTML- und PHP-Tags aus einem String

add a note add a note

User Contributed Notes 1 note

up
1
AllenJB
2 days 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