1
0
mirror of https://github.com/php/doc-en.git synced 2026-03-23 23:32:18 +01:00
Files

158 lines
3.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="eventbuffer.search" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>EventBuffer::search</refname>
<refpurpose>Scans the buffer for an occurrence of a string</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier>
<type>mixed</type>
<methodname>EventBuffer::search</methodname>
<methodparam>
<type>string</type>
<parameter>what</parameter>
</methodparam>
<methodparam
choice="opt">
<type>int</type>
<parameter>start</parameter>
<initializer>-1</initializer>
</methodparam>
<methodparam choice="opt">
<type>int</type>
<parameter>end</parameter>
<initializer>-1</initializer>
</methodparam>
</methodsynopsis>
<para>
Scans the buffer for an occurrence of the string
<parameter>what</parameter>.
It returns numeric position of the string, or &false; if the string was
not found.
</para>
<para>
If the
<parameter>start</parameter>
argument is provided, it points to the position at which the search should
begin; otherwise, the search is performed from the start of the string. If
<parameter>end</parameter>
argument provided, the search is performed between start and end buffer
positions.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term>
<parameter>what</parameter>
</term>
<listitem>
<para>
String to search.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>start</parameter>
</term>
<listitem>
<para>
Start search position.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>end</parameter>
</term>
<listitem>
<para>
End search position.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns numeric position of the first occurrence of the string in the
buffer, or &false; if string is not found.
</para>
&return.falseproblem;
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>
<function>EventBuffer::search</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
// Count total occurrences of 'str' in 'buf'
function count_instances($buf, $str) {
$total = 0;
$p = 0;
$i = 0;
while (1) {
$p = $buf->search($str, $p);
if ($p === FALSE) {
break;
}
++$total;
++$p;
}
return $total;
}
$buf = new EventBuffer();
$buf->add("Some string within a string inside another string");
var_dump(count_instances($buf, "str"));
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
int(3)
]]>
</screen>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member>
<methodname>EventBuffer::searchEol</methodname>
</member>
</simplelist>
</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
-->