<?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.removed-8-0-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
-->
