Files
doc-fr/reference/strings/functions/strpos.xml

219 lines
6.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 7efec4c29a3cb6d6e7abe325a3c0d5b6024fa37c Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.strpos" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>strpos</refname>
<refpurpose>Cherche la position de la première occurrence dans une chaîne</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>int</type><type>false</type></type><methodname>strpos</methodname>
<methodparam><type>string</type><parameter>haystack</parameter></methodparam>
<methodparam><type>string</type><parameter>needle</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>offset</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
Cherche la position numérique de la première occurrence de
<parameter>needle</parameter> dans la &string;
<parameter>haystack</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>haystack</parameter></term>
<listitem>
<para>
La chaîne dans laquelle on doit chercher.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>needle</parameter></term>
<listitem>
<para>
La chaîne à rechercher.
</para>
&strings.parameter.needle.non-string;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
Si spécifié, la recherche commencera à partir de ce
nombre de caractères compté depuis le début de la chaîne.
Si ce nombre est négatif, la recherche commencera en utilisant
ce nombre de caractères mais en commençant par la fin de la chaîne.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retourne la position numérique de l'occurrence relativement
au début de la chaîne <parameter>haystack</parameter>
(indépendamment de l'<parameter>offset</parameter>).
Notez également que la position dans la chaîne commence
à <literal>0</literal>, et non pas à <literal>1</literal>.
</para>
<para>
Retourne &false; si l'occurrence n'a pas été trouvée.
</para>
&return.falseproblem;
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&strings.changelog.needle-empty;
<row>
<entry>8.0.0</entry>
<entry>
Passer un &integer; comme <parameter>needle</parameter> n'est plus supporté.
</entry>
</row>
<row>
<entry>7.3.0</entry>
<entry>
Passer un &integer; comme <parameter>before_needle</parameter> a été
rendu obsolète.
</entry>
</row>
<row>
<entry>7.1.0</entry>
<entry>
Ajout du support des nombres négatifs pour le paramètre <parameter>offset</parameter>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Avec <literal>===</literal></title>
<programlisting role="php">
<![CDATA[
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Notez notre utilisation de ===. == ne fonctionnerait pas comme attendu
// car la position de 'a' est la 0-ième (premier) caractère.
if ($pos === false) {
echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'";
} else {
echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring'";
echo " et débute à la position $pos";
}
?>
]]>
</programlisting>
</example>
<example>
<title>Avec !==</title>
<programlisting role="php">
<![CDATA[
<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);
// Notez notre utilisation de !==. != ne fonctionnerait pas comme attendu
// car la position de 'a' est la 0-ième (premier) caractère.
if ($pos !== false) {
echo "La chaine '$findme' a été trouvée dans la chaîne '$mystring'";
echo " et débute à la position $pos";
} else {
echo "La chaîne '$findme' ne se trouve pas dans la chaîne '$mystring'";
}
?>
]]>
</programlisting>
</example>
<example>
<title>Utiliser un offset</title>
<programlisting role="php">
<![CDATA[
<?php
// Nous pouvons chercher le caractère, et ignorer tout ce qui est avant l'offset
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, non pas 0
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
&note.bin-safe;
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>stripos</function></member>
<member><function>str_contains</function></member>
<member><function>str_ends_with</function></member>
<member><function>str_starts_with</function></member>
<member><function>strrpos</function></member>
<member><function>strripos</function></member>
<member><function>strstr</function></member>
<member><function>strpbrk</function></member>
<member><function>substr</function></member>
<member><function>preg_match</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
-->