dams Tue Feb 20 00:22:16 2001 EDT
Modified files:
/phpdoc/fr/functions pcre.xml
Log:
Added new flag for preg_split
Index: phpdoc/fr/functions/pcre.xml
diff -u phpdoc/fr/functions/pcre.xml:1.16 phpdoc/fr/functions/pcre.xml:1.17
--- phpdoc/fr/functions/pcre.xml:1.16 Wed Feb 7 13:59:34 2001
+++ phpdoc/fr/functions/pcre.xml Tue Feb 20 00:22:15 2001
@@ -141,8 +141,9 @@
<computeroutput>
Le nom de domaine est : php.net
</computeroutput>
- Voir aussi <function>preg_match_all</function>, <function>preg_replace</function>
- et <function>preg_split</function>.
+ Voir aussi <function>preg_match_all</function>,
+ <function>preg_replace</function> et
+ <function>preg_split</function>.
</para>
</refsect1>
</refentry>
@@ -380,7 +381,7 @@
<para>
<literal>/F</literal> indique que le paramètre
<parameter>replacement</parameter> doit être considéré
- comme un nom de fonction. Cette fonction sera appelée, avec un
+ comme un nom de fonction. Cette fonction sera appelée, avec un
tableau contenant les éléments trouvés comme
arguments. La fonctoin doit retourner la chaine de remplacement. Cette option
a été ajoutée en PHP 4.0.4.
@@ -458,7 +459,8 @@
</para>
</note>
<para>
- Voir aussi <function>preg_match</function>, <function>preg_match_all</function>
+ Voir aussi <function>preg_match</function>,
+ <function>preg_match_all</function>
et <function>preg_split</function>.
</para>
</refsect1>
@@ -485,26 +487,50 @@
</paramdef>
</funcprototype>
</funcsynopsis>
- <note>
- <para>
- Le paramètre <parameter>flags</parameter> a été
- ajouté dans PHP Beta 3.
- </para>
- </note>
<para>
- Retourne un tableau contenant les sous chaînes
- de <parameter>subject</parameter>, séparées
- par les chaînes qui vérifient <parameter>pattern</parameter>.
+ <function>preg_split</function> retourne un tableau contenant les
+ sous-chaînes de <parameter>subject</parameter>,
+ séparées par les chaînes qui vérifient
+ <parameter>pattern</parameter>.
</para>
<para>
- Si <parameter>limit</parameter> est donné, seules
- les <parameter>limit</parameter> premières chaînes
- seront retournées.
+ Si <parameter>limit</parameter> est spécifié, alors seules les
+ <parameter>limit</parameter> premières sous-chaînes sont
+retournées
+ et si <parameter>limit</parameter> vaut -1, cela signifie en fait
+ "sans limite", ce qui est utile pour passer le paramètre
+ <parameter>flags</parameter>.
</para>
<para>
- Si le flag est PREG_SPLIT_NO_EMPTY, alors seul les sous chaînes
- non nulles seront retournées.
- </para>
+ <parameter>flags</parameter> peut être la combinaison des
+ options suivantes (combinées avec l'opérateur
+<literal>|</literal>):
+ <variablelist>
+ <varlistentry>
+ <term>PREG_SPLIT_NO_EMPTY</term>
+ <listitem>
+ <simpara>
+ Si cette option est activée, seules les sous-chaînes non
+vides
+ seront retournées par <function>preg_split</function>.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>PREG_SPLIT_DELIM_CAPTURE</term>
+ <listitem>
+ <simpara>
+ Si cette option est activée, les expressions entre
+parenthèses entre
+ les délimiteurs de masques seront aussi capturées et
+retournées.
+ Cette option a été ajoutée en PHP 4.0.5.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <note>
+ <para>
+ Le paramètre <parameter>flags</parameter> a été
+ ajouté dans PHP Beta 3.
+ </para>
+ </note>
<para>
<example>
<title>Eclatement d'une chaîne de recherche.</title>
@@ -523,7 +549,7 @@
<programlisting role="php">
<?php
$str = 'string';
-$chars = preg_split('//', $str, 0, PREG_SPLIT_NO_EMPTY);
+$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
print_r($chars);
?>
</programlisting>
@@ -915,7 +941,7 @@
</listitem>
<listitem>
<simpara>
- De manière assez évidente, PCRE n'accepte pas la construction
+ De manière assez évidente, PCRE n'accepte pas la construction
(?{code}).
</simpara>
</listitem>
@@ -1207,7 +1233,7 @@
il faut écrire : "<literal>\\</literal>".
</para>
<para>
- Si un masque est utilisé avec l'option
+ Si un masque est utilisé avec l'option
<link linkend="pcre.pattern.modifiers">PCRE_EXTENDED</link>,
les espaces blancs du masque, mais qui ne sont pas dans une
classe de caractères, et les caractères entre dièses
@@ -1369,7 +1395,7 @@
<term><emphasis>\11</emphasis></term>
<listitem>
<simpara>
- peut être une référence de retour,
+ peut être une référence de retour,
ou une tabulation
</simpara>
</listitem>
@@ -1581,9 +1607,9 @@
Les assertions <literal>\A</literal>, <literal>\Z</literal>, et
<literal>\z</literal> diffèrent des méta caractères
<literal>^</literal> et <literal>$</literal> dans la mesure oú
- ils ne sont pas dépendants des options, notamment
+ ils ne sont pas dépendants des options, notamment
<link linkend="pcre.pattern.modifiers">PCRE_NOTBOL</link>
- ou <link linkend="pcre.pattern.modifiers">PCRE_NOTEOL</link>.
+ ou <link linkend="pcre.pattern.modifiers">PCRE_NOTEOL</link>.
La différence entre <literal>\Z</literal> et
<literal>\z</literal> tient au fait que <literal>\Z</literal> recherche
les positions avant les nouvelles lignes et à la fin de la
@@ -1639,13 +1665,13 @@
à l'amener à ce qu'il puisse se trouver immédiatement
avant et immédiatement après un caractère de nouvelle
ligne "<literal>\n</literal>". Cela se fait en ajoutant l'option
- <link linkend="pcre.pattern.modifiers">PCRE_MULTILINE</link> au moment de
+ <link linkend="pcre.pattern.modifiers">PCRE_MULTILINE</link> au moment de
la compilation ou de l'exécution.
Par exemple, le masque <literal>/^abc$/</literal> accepte la chaîne
"<literal>def\nabc</literal>" uniquement en mode multi-lignes. Par
conséquent, toutes les parties du masques qui commencent par
"<literal>^</literal>" ne sont pas ancrées, en mode multi-lignes.
- L'option <link linkend="pcre.pattern.modifiers">PCRE_DOLLAR_ENDONLY</link>
+ L'option <link linkend="pcre.pattern.modifiers">PCRE_DOLLAR_ENDONLY</link>
est ignorée si l'option
<link linkend="pcre.pattern.modifiers">PCRE_MULTILINE</link> est choisie.
</para>
@@ -1654,7 +1680,7 @@
<literal>\Z</literal>, et <literal>\z</literal> peuvent servir à
répérer le début et la fin du sujet, et toutes les
parties du masque qui commenceront par <literal>\A</literal> seront toujours
- ancrées, avec l'option
+ ancrées, avec l'option
<link linkend="pcre.pattern.modifiers">PCRE_MULTILINE</link> ou non.
</para>
</refsect2>
@@ -1663,7 +1689,7 @@
<simpara>
En dehors d'une classe de caractères, un point remplace n'importe
quel caractère, même invisible et à l'exception du
- caractère de nouvelle ligne. Avec l'option
+ caractère de nouvelle ligne. Avec l'option
<link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link> le point
remplace n'importe quel caractère, même le caractère de
nouvelle ligne. La gestion des points et complètement
@@ -1716,7 +1742,7 @@
<para>
Le caractère de nouvelle ligne n'est pas traité de
manière spéciale dans les classes de caractères,
- quelque soit l'option <link
linkend="pcre.pattern.modifiers">PCRE_DOTALL</link>
+ quelque soit l'option <link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link>
ou <link linkend="pcre.pattern.modifiers">PCRE_MULTILINE</link>. Une classe
telle que <literal>[^a]</literal> acceptera toujours une nouvelle ligne.
</para>
@@ -1792,12 +1818,12 @@
<refsect2 id="regexp.reference.internal_options">
<title>Options internes</title>
<para>
- Les options <link linkend="pcre.pattern.modifiers">PCRE_CASELESS</link>,
- <link linkend="pcre.pattern.modifiers">PCRE_MULTILINE</link>,
- <link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link> et
+ Les options <link linkend="pcre.pattern.modifiers">PCRE_CASELESS</link>,
+ <link linkend="pcre.pattern.modifiers">PCRE_MULTILINE</link>,
+ <link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link> et
<link linkend="pcre.pattern.modifiers">PCRE_EXTENDED</link> peuvent
- être changée à l'intérieur du masque
- lui-même, avec des séquences mises entre
+ être changée à l'intérieur du masque
+ lui-même, avec des séquences mises entre
"<literal>(?</literal>" et "<literal>)</literal>".
Les options sont :
<variablelist>
@@ -1837,10 +1863,10 @@
Par exemple, <literal>(?im)</literal> rend le masque insensible à
la casse, et multi-lignes. Il est possible d'annuler ces options en les
faisant précéder par un signe <literal>-</literal> : par
- exemple <literal>(?im-sx)</literal>, ajoutera les options
+ exemple <literal>(?im-sx)</literal>, ajoutera les options
<link linkend="pcre.pattern.modifiers">PCRE_CASELESS</link>
- et <link linkend="pcre.pattern.modifiers">PCRE_MULTILINE</link> mais
- annulera les options <link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link>
+ et <link linkend="pcre.pattern.modifiers">PCRE_MULTILINE</link> mais
+ annulera les options <link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link>
et <link linkend="pcre.pattern.modifiers">PCRE_EXTENDED</link>.
Si une option apparaît avant et après le signe moins, l'option
sera annulée.
@@ -1854,7 +1880,7 @@
de la même façons : <literal>(?i)abc</literal>,
<literal>a(?i)bc</literal>, <literal>ab(?i)c</literal>,
<literal>abc(?i)</literal>, et sont parfaitement équivalents au
- masque <literal>abc</literal> avec l'option
+ masque <literal>abc</literal> avec l'option
<link linkend="pcre.pattern.modifiers">PCRE_CASELESS</link>. En d'autres
termes, activer des séquences d'options dans le corps principal
du masque revient à appliquer l'option à tout le masque, sauf
@@ -1867,8 +1893,8 @@
l'intérieur d'un sous-masque n'affecte que cette partie du masque, ce
qui fait que <literal>(a(?i)b)c</literal> acceptera <literal>abc</literal>
et <literal>aBc</literal> mais aucune autre chaîne (en supposant que
- <link linkend="pcre.pattern.modifiers">PCRE_CASELESS</link> n'est pas
- utilisé). Cela signifie que les options permettent d'avoir
+ <link linkend="pcre.pattern.modifiers">PCRE_CASELESS</link> n'est pas
+ utilisé). Cela signifie que les options permettent d'avoir
différente configuration de recherche pour différentes
parties du masque.
</para>
@@ -1880,9 +1906,9 @@
"<literal>C</literal>", la première alternative qui porte
l'option n'est pas prise en compte. Sinon, cela risque d'introduire
des comportements très étranges : les options
- spécifiques à PCRE telles que
+ spécifiques à PCRE telles que
<link linkend="pcre.pattern.modifiers">PCRE_UNGREEDY</link> et
- <link linkend="pcre.pattern.modifiers">PCRE_EXTRA</link> peuvent
+ <link linkend="pcre.pattern.modifiers">PCRE_EXTRA</link> peuvent
être modifiées de la même
manière, en utilisant respectivement les caractères
U et X. L'option <literal>(?X)</literal> est particulière,
@@ -2099,7 +2125,7 @@
</para>
<para>
Si un masque commence par <literal>..*</literal> ou <literal>.{0,}</literal>
- et que l'option <link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link>
+ et que l'option <link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link>
(équivalent en Perl à /s) est
activée, c'est à dire en autorisant le remplacement des nouvelles
lignes par un méta-caractère, alors le masque est
@@ -2108,7 +2134,7 @@
comme si le masque se terminait par le méta caractère
<literal>\A</literal>. Dans le cas oú on sait d'avance qu'il
n'y aura pas de caractère de nouvelle ligne, activer l'option
- <link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link> et commencer
+ <link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link> et commencer
le masque par <literal>.*</literal> permet d'optmiser le masque.
</para>
<para>
@@ -2449,7 +2475,7 @@
le sous-masque correspondant à ce numéro a réussi.
Considérons le masque suivant, qui contient des espaces non
significatifs pour le rendre plus compréhensible (on supposera
- l'option <link linkend="pcre.pattern.modifiers">PCRE_EXTENDED</link>
+ l'option <link linkend="pcre.pattern.modifiers">PCRE_EXTENDED</link>
activée) et qui est divisé en trois parties
pour simplifier les explications : <literal>( \( )? [^()]+ (?(1) \)
)</literal>.
</para>
@@ -2514,7 +2540,7 @@
d'utiliser la récursivité dans les masques (entre autre).
L'option <literal>(?R)</literal> est fournie pour servir la cause de
la récursivité. Le masque suivant résoud le
- problème des parenthèses (l'option
+ problème des parenthèses (l'option
<link linkend="pcre.pattern.modifiers">PCRE_EXTENDED</link> est
utilisée pour ignorer les espaces) :
<literal>\( ( (?>[^()]+) | (?R) )* \)</literal>
@@ -2578,11 +2604,11 @@
propos de l'optimisation des expressions régulières.
</para>
<para>
- Lorsqu'un masque commence par.* et que l'option
+ Lorsqu'un masque commence par.* et que l'option
<link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link> est
activée, le masque est implicitement ancré par PCRE,
étant donné qu'il ne peut que rechercher au début
- de la chaîne. Cependant, si option
+ de la chaîne. Cependant, si option
<link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link> n'est pas
activée, PCRE ne peut faire aucune optimisation car le
méta-caractères point "<literal>.</literal>"
@@ -2601,7 +2627,7 @@
à partir de chaque début de ligne. Si vous utilisez un
tel masque avec des chaînes qui ne contiennent pas de
caractères de nouvelles lignes, les meilleures performances
- seront atteintes avec l'option
+ seront atteintes avec l'option
<link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link>, ou en ancrant le
masque avec <literal>^.*</literal>. Cela évite à PCRE
de scanner toute la chaîne pour rechercher un caractère