php-doc-en/reference/strings/functions/strripos.xml
George Peter Banyard 53401e8378 Fix Doc Bug
A better description of how the offset parameter works (especially with negative offsets)
Added some examples to illustrate how offset affects the function.

Maybe an example that compares this to strpos should be there too?

------
Inspired by anonymous 96388 (php.florianberberich@outlook.com)

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@347318 c90b9560-bf6c-de11-be94-00142212c4b1
2019-04-23 00:51:32 +00:00

158 lines
4.2 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.strripos">
<refnamediv>
<refname>strripos</refname>
<refpurpose>Find the position of the last occurrence of a case-insensitive substring in a string</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>strripos</methodname>
<methodparam><type>string</type><parameter>haystack</parameter></methodparam>
<methodparam><type>mixed</type><parameter>needle</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>offset</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
Find the numeric position of the last occurrence of
<parameter>needle</parameter> in the <parameter>haystack</parameter> string.
</para>
<para>
Unlike the <function>strrpos</function>, <function>strripos</function> is
case-insensitive.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>haystack</parameter></term>
<listitem>
<para>
The string to search in.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>needle</parameter></term>
<listitem>
&strings.parameter.needle.non-string;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
If zero or positive, the search is performed left to right skipping the
first <parameter>offset</parameter> bytes of the
<parameter>haystack</parameter>.
</para>
<para>
If negative, the search is performed right to left skipping the
last <parameter>offset</parameter> bytes of the
<parameter>haystack</parameter> and searching for the first occurrence
of <parameter>needle</parameter>.
<note>
<para>
This is effectively looking for the last occurrence of
<parameter>needle</parameter> before the last
<parameter>offset</parameter> bytes.
</para>
</note>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns the position where the needle exists relative to the beginnning of
the <parameter>haystack</parameter> string (independent of search direction
or offset).
<note>
<simpara>
String positions start at 0, and not 1.
</simpara>
</note>
</para>
<para>
Returns &false; if the needle was not found.
</para>
&return.falseproblem;
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>A simple <function>strripos</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$haystack = 'ababcd';
$needle = 'aB';
$pos = strripos($haystack, $needle);
if ($pos === false) {
echo "Sorry, we did not find ($needle) in ($haystack)";
} else {
echo "Congratulations!\n";
echo "We found the last ($needle) in ($haystack) at position ($pos)";
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Congratulations!
We found the last (aB) in (ababcd) at position (2)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>strpos</function></member>
<member><function>stripos</function></member>
<member><function>strrpos</function></member>
<member><function>strrchr</function></member>
<member><function>stristr</function></member>
<member><function>substr</function></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
-->