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

245 lines
6.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 3d38c9a1ce92c93fdf8c43f067c7ae7b4ad73885 Maintainer: yannick Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.trim" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>trim</refname>
<refpurpose>
Supprime les espaces (ou d'autres caractères) en début et fin de chaîne
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>trim</methodname>
<methodparam><type>string</type><parameter>string</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>characters</parameter><initializer>" \n\r\t\v\x00"</initializer></methodparam>
</methodsynopsis>
<para>
<function>trim</function> retourne la chaîne <parameter>string</parameter>, après
avoir supprimé les caractères invisibles en début et fin de chaîne.
Si le second paramètre <parameter>characters</parameter> est omis,
<function>trim</function> supprimera les caractères suivants :
<!-- sorted by importance. Printed 3 times: trim, ltrim, rtrim -->
<itemizedlist>
<listitem>
<simpara>
"<literal> </literal>" (<acronym>ASCII</acronym> <literal>32</literal>
(<literal>0x20</literal>)), un espace ordinaire.
</simpara>
</listitem>
<listitem>
<simpara>
"<literal>\t</literal>" (<acronym>ASCII</acronym> <literal>9</literal>
(<literal>0x09</literal>)), une tabulation.
</simpara>
</listitem>
<listitem>
<simpara>
"<literal>\n</literal>" (<acronym>ASCII</acronym> <literal>10</literal>
(<literal>0x0A</literal>)), une nouvelle ligne (<literal>line feed</literal>).
</simpara>
</listitem>
<listitem>
<simpara>
"<literal>\r</literal>" (<acronym>ASCII</acronym> <literal>13</literal>
(<literal>0x0D</literal>)), un retour chariot (<literal>carriage return</literal>).
</simpara>
</listitem>
<listitem>
<simpara>
"<literal>\0</literal>" (<acronym>ASCII</acronym> &zero;
(<literal>0x00</literal>)), le caractère <literal>NUL</literal>.
</simpara>
</listitem>
<listitem>
<simpara>
"\v" (<acronym>ASCII</acronym> <literal>11</literal>
(<literal>0x0B</literal>)), une tabulation verticale.
</simpara>
</listitem>
</itemizedlist>
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>string</parameter></term>
<listitem>
<para>
La &string; qui sera coupée.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>characters</parameter></term>
<listitem>
<para>
Optionnellement, les caractères supprimés peuvent aussi être spécifiés
en utilisant le paramètre <parameter>characters</parameter>. Listez
simplement tous les caractères qui ont besoin d'être supprimer. Avec
<literal>..</literal> il est possible de spécifier une plage de caractères incrémentielle.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
La chaîne de caractères coupée.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>trim</function></title>
<programlisting role="php">
<![CDATA[
<?php
$text = "\t\tThese are a few words :) ... ";
$binary = "\x09Example string\x0A";
$hello = "Hello World";
var_dump($text, $binary, $hello);
print "\n";
$trimmed = trim($text);
var_dump($trimmed);
$trimmed = trim($text, " \t.");
var_dump($trimmed);
$trimmed = trim($hello, "Hdle");
var_dump($trimmed);
$trimmed = trim($hello, 'HdWr');
var_dump($trimmed);
// Supprime les caractères de contrôle ASCII au début et à la fin de $binary
// (de 0 à 31 inclusif)
$clean = trim($binary, "\x00..\x1F");
var_dump($clean);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
string(32) " These are a few words :) ... "
string(16) " Example string
"
string(11) "Hello World"
string(28) "These are a few words :) ..."
string(24) "These are a few words :)"
string(5) "o Wor"
string(9) "ello Worl"
string(14) "Example string"
]]>
</screen>
</example>
</para>
<para>
<example>
<title>Suppression de caractères dans un tableau avec <function>trim</function></title>
<programlisting role="php">
<![CDATA[
<?php
function trim_value(&$value)
{
$value = trim($value);
}
$fruit = array('apple','banana ', ' cranberry ');
var_dump($fruit);
array_walk($fruit, 'trim_value');
var_dump($fruit);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
array(3) {
[0]=>
string(5) "apple"
[1]=>
string(7) "banana "
[2]=>
string(11) " cranberry "
}
array(3) {
[0]=>
string(5) "apple"
[1]=>
string(6) "banana"
[2]=>
string(9) "cranberry"
}
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<title>Utilisation possible : suppression des caractères en milieu de chaîne</title>
<para>
En raison du fait que la fonction <function>trim</function> supprime des
caractères en début et en fin de chaîne, ce peut être confus lorsque les caractères
sont (ou pas) supprimés depuis le milieu. <literal>trim('abc', 'bad')</literal>
supprime à la fois 'a' et 'b' car la fonction supprime 'a', puis, déplace 'b' en début
de chaîne, qui sera également supprimé. Aussi, c'est la raison pour laquelle la fonction
"marche" alors que <literal>trim('abc', 'b')</literal> ne fonctionne pas.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>ltrim</function></member>
<member><function>rtrim</function></member>
<member><function>str_replace</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
-->