Files
doc-fr/reference/strings/functions/trim.xml
2022-01-09 21:18:15 +00:00

245 lines
6.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: eabde0419cf90f596f60db00e31fcb6ebe41ac55 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 que vous voulez supprimer. Avec
<literal>..</literal> vous pouvez spécifier une plage de caractères.
</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
-->