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&egrave;tre
      <parameter>replacement</parameter> doit &ecirc;tre consid&eacute;r&eacute;
-     comme un nom de fonction. Cette fonction sera appel&eacute;e, avec un 
+     comme un nom de fonction. Cette fonction sera appel&eacute;e, avec un
      tableau contenant les &eacute;l&eacute;ments trouv&eacute;s comme
      arguments. La fonctoin doit retourner la chaine de remplacement. Cette option
      a &eacute;t&eacute; ajout&eacute;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&egrave;tre <parameter>flags</parameter> a &eacute;t&eacute;
-       ajout&eacute; dans PHP Beta 3.
-      </para>
-    </note>
     <para>
-      Retourne un tableau contenant les sous cha&icirc;nes
-      de <parameter>subject</parameter>, s&eacute;par&eacute;es
-      par les cha&icirc;nes qui v&eacute;rifient <parameter>pattern</parameter>.
+     <function>preg_split</function> retourne un tableau contenant les
+     sous-cha&icirc;nes de <parameter>subject</parameter>,
+     s&eacute;par&eacute;es par les cha&icirc;nes qui v&eacute;rifient
+     <parameter>pattern</parameter>.
     </para>
     <para>
-      Si <parameter>limit</parameter> est donn&eacute;, seules
-      les <parameter>limit</parameter> premi&egrave;res cha&icirc;nes
-      seront retourn&eacute;es.
+        Si <parameter>limit</parameter> est sp&eacute;cifi&eacute;, alors seules les
+        <parameter>limit</parameter> premi&egrave;res sous-cha&icirc;nes sont 
+retourn&eacute;es
+        et si <parameter>limit</parameter> vaut -1, cela signifie en fait
+        "sans limite", ce qui est utile pour passer le param&egrave;tre
+        <parameter>flags</parameter>.
     </para>
     <para>
-      Si le flag est PREG_SPLIT_NO_EMPTY, alors seul les sous cha&icirc;nes
-      non nulles seront retourn&eacute;es.
-    </para>
+        <parameter>flags</parameter> peut &ecirc;tre la combinaison des
+        options suivantes (combin&eacute;es avec l'op&eacute;rateur 
+<literal>|</literal>):
+      <variablelist>
+       <varlistentry>
+           <term>PREG_SPLIT_NO_EMPTY</term>
+           <listitem>
+            <simpara>
+                Si cette option est activ&eacute;e, seules les sous-cha&icirc;nes non 
+vides
+                seront retourn&eacute;es par <function>preg_split</function>.
+            </simpara>
+           </listitem>
+       </varlistentry>
+       <varlistentry>
+           <term>PREG_SPLIT_DELIM_CAPTURE</term>
+           <listitem>
+            <simpara>
+                Si cette option est activ&eacute;e, les expressions entre 
+parenth&egrave;ses entre
+                les d&eacute;limiteurs de masques seront aussi captur&eacute;es et 
+retourn&eacute;es.
+                Cette option a &eacute;t&eacute; ajout&eacute;e en PHP 4.0.5.
+            </simpara>
+           </listitem>
+       </varlistentry>
+         </variablelist>
+        </para>
+    <note>
+     <para>
+      Le param&egrave;tre <parameter>flags</parameter> a &eacute;t&eacute;
+      ajout&eacute; dans PHP Beta 3.
+      </para>
+    </note>
     <para>
      <example>
       <title>Eclatement d'une cha&icirc;ne de recherche.</title>
@@ -523,7 +549,7 @@
     <programlisting role="php">
 &lt;?php
 $str = 'string';
-$chars = preg_split('//', $str, 0, PREG_SPLIT_NO_EMPTY);
+$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
 print_r($chars);
 ?&gt;
     </programlisting>
@@ -915,7 +941,7 @@
         </listitem>
         <listitem>
          <simpara>
-       De mani&egrave;re assez &eacute;vidente, PCRE n'accepte pas la construction 
+       De mani&egrave;re assez &eacute;vidente, PCRE n'accepte pas la construction
        (?{code}).
          </simpara>
         </listitem>
@@ -1207,7 +1233,7 @@
        il faut &eacute;crire : "<literal>\\</literal>".
       </para>
       <para>
-       Si un masque est utilis&eacute; avec l'option 
+       Si un masque est utilis&eacute; 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&egrave;res, et les caract&egrave;res entre di&egrave;ses
@@ -1369,7 +1395,7 @@
             <term><emphasis>\11</emphasis></term>
             <listitem>
              <simpara>
-              peut &ecirc;tre une r&eacute;f&eacute;rence de retour, 
+              peut &ecirc;tre une r&eacute;f&eacute;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&egrave;rent des m&eacute;ta caract&egrave;res
        <literal>^</literal> et <literal>$</literal> dans la mesure o&uacute;
-       ils ne sont pas d&eacute;pendants des options, notamment 
+       ils ne sont pas d&eacute;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&eacute;rence entre <literal>\Z</literal> et
        <literal>\z</literal> tient au fait que <literal>\Z</literal> recherche
        les positions avant les nouvelles lignes et &agrave; la fin de la
@@ -1639,13 +1665,13 @@
        &agrave; l'amener &agrave; ce qu'il puisse se trouver imm&eacute;diatement
        avant et imm&eacute;diatement apr&egrave;s un caract&egrave;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&eacute;cution.
        Par exemple, le masque <literal>/^abc$/</literal> accepte la cha&icirc;ne
        "<literal>def\nabc</literal>" uniquement en mode multi-lignes. Par
        cons&eacute;quent, toutes les parties du masques qui commencent par
        "<literal>^</literal>" ne sont pas ancr&eacute;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&eacute;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 &agrave;
        r&eacute;p&eacute;rer le d&eacute;but et la fin du sujet, et toutes les
        parties du masque qui commenceront par <literal>\A</literal> seront toujours
-       ancr&eacute;es, avec l'option 
+       ancr&eacute;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&egrave;res, un point remplace n'importe
        quel caract&egrave;re, m&ecirc;me invisible et &agrave; l'exception du
-       caract&egrave;re de nouvelle ligne. Avec l'option 
+       caract&egrave;re de nouvelle ligne. Avec l'option
        <link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link> le point
        remplace n'importe quel caract&egrave;re, m&ecirc;me le caract&egrave;re de
        nouvelle ligne. La gestion des points et compl&egrave;tement
@@ -1716,7 +1742,7 @@
       <para>
        Le caract&egrave;re de nouvelle ligne n'est pas trait&eacute; de
        mani&egrave;re sp&eacute;ciale dans les classes de caract&egrave;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
-       &ecirc;tre chang&eacute;e &agrave; l'int&eacute;rieur du masque 
-       lui-m&ecirc;me, avec des s&eacute;quences mises entre 
+       &ecirc;tre chang&eacute;e &agrave; l'int&eacute;rieur du masque
+       lui-m&ecirc;me, avec des s&eacute;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 &agrave;
        la casse, et multi-lignes. Il est possible d'annuler ces options en les
        faisant pr&eacute;c&eacute;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&icirc;t avant et apr&egrave;s le signe moins, l'option
        sera annul&eacute;e.
@@ -1854,7 +1880,7 @@
        de la m&ecirc;me fa&ccedil;ons : <literal>(?i)abc</literal>,
        <literal>a(?i)bc</literal>, <literal>ab(?i)c</literal>,
        <literal>abc(?i)</literal>, et sont parfaitement &eacute;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&eacute;quences d'options dans le corps principal
        du masque revient &agrave; appliquer l'option &agrave; tout le masque, sauf
@@ -1867,8 +1893,8 @@
        l'int&eacute;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&icirc;ne (en supposant que
-       <link linkend="pcre.pattern.modifiers">PCRE_CASELESS</link> n'est pas 
-       utilis&eacute;). Cela signifie que les options permettent d'avoir 
+       <link linkend="pcre.pattern.modifiers">PCRE_CASELESS</link> n'est pas
+       utilis&eacute;). Cela signifie que les options permettent d'avoir
        diff&eacute;rente configuration de recherche pour diff&eacute;rentes
        parties du masque.
       </para>
@@ -1880,9 +1906,9 @@
        "<literal>C</literal>", la premi&egrave;re alternative qui porte
        l'option n'est pas prise en compte. Sinon, cela risque d'introduire
        des comportements tr&egrave;s &eacute;tranges : les options
-       sp&eacute;cifiques &agrave; PCRE telles que 
+       sp&eacute;cifiques &agrave; 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
        &ecirc;tre modifi&eacute;es de la m&ecirc;me
        mani&egrave;re, en utilisant respectivement les caract&egrave;res
        U et X. L'option <literal>(?X)</literal> est particuli&egrave;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>
        (&eacute;quivalent en Perl &agrave; /s) est
        activ&eacute;e, c'est &agrave; dire en autorisant le remplacement des nouvelles
        lignes par un m&eacute;ta-caract&egrave;re, alors le masque est
@@ -2108,7 +2134,7 @@
        comme si le masque se terminait par le m&eacute;ta caract&egrave;re
        <literal>\A</literal>. Dans le cas o&uacute; on sait d'avance qu'il
        n'y aura pas de caract&egrave;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 &agrave; ce num&eacute;ro a r&eacute;ussi.
        Consid&eacute;rons le masque suivant, qui contient des espaces non
        significatifs pour le rendre plus compr&eacute;hensible (on supposera
-       l'option <link linkend="pcre.pattern.modifiers">PCRE_EXTENDED</link> 
+       l'option <link linkend="pcre.pattern.modifiers">PCRE_EXTENDED</link>
        activ&eacute;e) et qui est divis&eacute; en trois parties
        pour simplifier les explications : <literal>( \( )?    [^()]+    (?(1) \) 
)</literal>.
       </para>
@@ -2514,7 +2540,7 @@
           d'utiliser la r&eacute;cursivit&eacute; dans les masques (entre autre).
           L'option <literal>(?R)</literal> est fournie pour servir la cause de
           la r&eacute;cursivit&eacute;. Le masque suivant r&eacute;soud le
-          probl&egrave;me des parenth&egrave;ses (l'option 
+          probl&egrave;me des parenth&egrave;ses (l'option
           <link linkend="pcre.pattern.modifiers">PCRE_EXTENDED</link> est
           utilis&eacute;e pour ignorer les espaces) :
        <literal>\( ( (?&gt;[^()]+) | (?R) )* \)</literal>
@@ -2578,11 +2604,11 @@
        propos de l'optimisation des expressions r&eacute;guli&egrave;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&eacute;e, le masque est implicitement ancr&eacute; par PCRE,
        &eacute;tant donn&eacute; qu'il ne peut que rechercher au d&eacute;but
-       de la cha&icirc;ne. Cependant, si option 
+       de la cha&icirc;ne. Cependant, si option
        <link linkend="pcre.pattern.modifiers">PCRE_DOTALL</link> n'est pas
        activ&eacute;e, PCRE ne peut faire aucune optimisation car le
        m&eacute;ta-caract&egrave;res point "<literal>.</literal>"
@@ -2601,7 +2627,7 @@
        &agrave; partir de chaque d&eacute;but de ligne. Si vous utilisez un
        tel masque avec des cha&icirc;nes qui ne contiennent pas de
        caract&egrave;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 &eacute;vite &agrave; PCRE
        de scanner toute la cha&icirc;ne pour rechercher un caract&egrave;re

Reply via email to