php-doc-en/reference/filesystem/functions/fgetss.xml
Christoph Michael Becker 929cec1734 Clarify that fgetss() is stateful
We also add related functionality in the see-also section.

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@348386 c90b9560-bf6c-de11-be94-00142212c4b1
2019-12-01 13:03:14 +00:00

156 lines
4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.fgetss">
<refnamediv>
<refname>fgetss</refname>
<refpurpose>Gets line from file pointer and strip HTML tags</refpurpose>
</refnamediv>
<refsynopsisdiv>
&warn.deprecated.function-7-3-0;
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>fgetss</methodname>
<methodparam><type>resource</type><parameter>handle</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>length</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>allowable_tags</parameter></methodparam>
</methodsynopsis>
<para>
Identical to <function>fgets</function>, except that
<function>fgetss</function> attempts to strip any NUL bytes, HTML and PHP tags from
the text it reads.
The function retains the parsing state from call to call, and as such is not
equivalent to calling <function>strip_tags</function> on the return value of
<function>fgets</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>handle</parameter></term>
<listitem>
&fs.validfp.all;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>length</parameter></term>
<listitem>
<para>
Length of the data to be retrieved.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>allowable_tags</parameter></term>
<listitem>
<para>
You can use the optional third parameter to specify tags which should
not be stripped.
See <function>strip_tags</function> for details regarding
<parameter>allowable_tags</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns a string of up to <parameter>length</parameter> - 1 bytes read from
the file pointed to by <parameter>handle</parameter>, with all HTML and PHP
code stripped.
</para>
<para>
If an error occurs, returns &false;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Reading a PHP file line-by-line</title>
<programlisting role="php">
<![CDATA[
<?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);
}
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Welcome! Today is the of .
Text outside of the HTML block.
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&note.line-endings;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>fgets</function></member>
<member><function>fopen</function></member>
<member><function>popen</function></member>
<member><function>fsockopen</function></member>
<member><function>strip_tags</function></member>
<member><methodname>SplFileObject::fgetss</methodname></member>
<member>The <link linkend="filters.string.strip_tags">string.strip_tags</link> filter</member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->