downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Our source is open

The syntax highlighted source is automatically generated by PHP from the plaintext script. If you're interested in what's behind the several functions we used, you can always take a look at the source of the following files:

Of course, if you want to see the source of this page, we have it available. You can also browse the SVN repository for this website on svn.php.net.

Source of: /manual/fr/function.preg-split.php

<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once
dirname(__FILE__) ."/toc/ref.pcre.inc";
$setup = array (
 
'home' =>
  array (
   
0 => 'index.php',
   
1 => 'PHP Manual',
  ),
 
'head' =>
  array (
   
0 => 'UTF-8',
   
1 => 'fr',
  ),
 
'this' =>
  array (
   
0 => 'function.preg-split.php',
   
1 => 'preg_split',
  ),
 
'up' =>
  array (
   
0 => 'ref.pcre.php',
   
1 => 'Fonctions PCRE',
  ),
 
'prev' =>
  array (
   
0 => 'function.preg-replace.php',
   
1 => 'preg_replace',
  ),
 
'next' =>
  array (
   
0 => 'book.regex.php',
   
1 => 'Regex POSIX',
  ),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);

manual_header();
?>
<div id="function.preg-split" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">preg_split</h1>
  <p class="verinfo">(PHP 4, PHP 5)</p><p class="refpurpose"><span class="refname">preg_split</span> &mdash; <span class="dc-title">Éclate une chaîne par expression rationnelle</span></p>

 </div>

 <a name="function.preg-split.description"></a><div class="refsect1 description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="type">array</span> <span class="methodname"><b>preg_split</b></span>
    ( <span class="methodparam"><span class="type">string</span> <tt class="parameter">$pattern</tt></span>
   , <span class="methodparam"><span class="type">string</span> <tt class="parameter">$subject</tt></span>
   [, <span class="methodparam"><span class="type">int</span> <tt class="parameter">$limit</tt><span class="initializer">= -1</span></span>
   [, <span class="methodparam"><span class="type">int</span> <tt class="parameter">$flags</tt><span class="initializer">= 0</span></span>
  ]] )</div>

  <p class="para rdfs-comment">
   Éclate une chaîne par expression rationnelle.
  </p>
 </div>


 <a name="function.preg-split.parameters"></a><div class="refsect1 parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   </p><dl>

    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">pattern</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
       Le masque à chercher, sous la forme d&#039;une <a href="language.types.string.php" class="link">chaîne de caractères</a>.
      </p>
     </dd>

   
    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">subject</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
       La chaîne d&#039;entrée.
      </p>
     </dd>

   
    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">limit</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
       Si <i><tt class="parameter">limit</tt></i>
 est spécifié, alors seules les
       <i><tt class="parameter">limit</tt></i>
 premières sous-chaînes sont retournées
       et si <i><tt class="parameter">limit</tt></i>
 vaut -1, cela signifie en fait
       &quot;sans limite&quot;, ce qui est utile pour passer le paramètre
       <i><tt class="parameter">flags</tt></i>
.
      </p>
     </dd>

   
    <dt class="varlistentry">

     <span class="term"><i><tt class="parameter">flags</tt></i>
</span>

     </dt><dd class="listitem">

      <p class="para">
       <i><tt class="parameter">flags</tt></i>
 peut être la combinaison des
       options suivantes (combinées avec l&#039;opérateur <i>|</i>):
       </p><dl>

        <dt class="varlistentry">

         <span class="term"><b><tt class="constant">PREG_SPLIT_NO_EMPTY</tt></b></span>

         </dt><dd class="listitem">

          <span class="simpara">
          Si cette option est activée, seules les sous-chaînes non vides
          seront retournées par <b>preg_split()</b>.
          </span>
         </dd>

       
        <dt class="varlistentry">

         <span class="term"><b><tt class="constant">PREG_SPLIT_DELIM_CAPTURE</tt></b></span>

         </dt><dd class="listitem">

          <span class="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.
          </span>
         </dd>

       
        <dt class="varlistentry">

         <span class="term"><b><tt class="constant">PREG_SPLIT_OFFSET_CAPTURE</tt></b></span>

         </dt><dd class="listitem">

          <p class="para">
           Si cette option est activée, pour chaque résultat, la position de celui-ci sera retournée.
           Notez que cela change la valeur retournée en un tableau où chaque élément est un
           tableau constitué de la chaîne trouvée à la position <i>0</i>
           et la position de la chaîne dans <i><tt class="parameter">subject</tt></i>
 à
           la position <i>1</i>.
          </p>
         </dd>

       
       </dl>
<p>
      </p>
     </dd>

   
   </dl>
<p>
  </p>
 </div>


 <a name="function.preg-split.returnvalues"></a><div class="refsect1 returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   Retourne un tableau contenant les sous-chaînes de <i><tt class="parameter">subject</tt></i>
,
   séparées par les chaînes qui vérifient <i><tt class="parameter">pattern</tt></i>
.
  </p>
 </div>


 <a name="function.preg-split.changelog"></a><div class="refsect1 changelog">
  <h3 class="title">Historique</h3>
  <p class="para">
   </p><table class="doctable informaltable">
   
     <thead valign="middle">
      <tr valign="middle">
       <th>Version</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody valign="middle" class="tbody">
      <tr valign="middle">
       <td align="left">4.3.0</td>
       <td align="left">
        Le drapeau <b><tt class="constant">PREG_SPLIT_OFFSET_CAPTURE</tt></b> a été ajouté.
       </td>
      </tr>

      <tr valign="middle">
       <td align="left">4.0.5</td>
       <td align="left">
        Le drapeau <b><tt class="constant">PREG_SPLIT_DELIM_CAPTURE</tt></b> a été ajouté.
       </td>
      </tr>

      <tr valign="middle">
       <td align="left">4.0.0</td>
       <td align="left">
        Le paramètre <i><tt class="parameter">flags</tt></i>
 a été ajouté.
       </td>
      </tr>

     </tbody>
   
   </table>
<p>
  </p>
 </div>


 <a name="function.preg-split.examples"></a><div class="refsect1 examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   </p><div class="example">
    <p><b>Exemple #1 Exemple avec <b>preg_split()</b> : Éclatement d&#039;une chaîne de recherche</b></p>
    <div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//&nbsp;scinde&nbsp;la&nbsp;phrase&nbsp;grâce&nbsp;aux&nbsp;virgules&nbsp;et&nbsp;espacements<br />//&nbsp;ce&nbsp;qui&nbsp;inclus&nbsp;les&nbsp;"&nbsp;",&nbsp;\r,&nbsp;\t,&nbsp;\n&nbsp;et&nbsp;\f<br /></span><span style="color: #0000BB">$keywords&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">preg_split</span><span style="color: #007700">(</span><span style="color: #DD0000">"/[\s,]+/"</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">"langage&nbsp;hypertexte,&nbsp;programmation"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

   </div><p>
  </p>
  <p class="para">
   </p><div class="example">
    <p><b>Exemple #2 Scinder une chaîne en caractères</b></p>
    <div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$str&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'string'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$chars&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">preg_split</span><span style="color: #007700">(</span><span style="color: #DD0000">'//'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$str</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">PREG_SPLIT_NO_EMPTY</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$chars</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

   </div><p>
  </p>
  <p class="para">
   </p><div class="example">
    <p><b>Exemple #3 Scinde une chaîne et capture les positions</b></p>
    <div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$str&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">'langage&nbsp;hypertexte,&nbsp;programmation'</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$chars&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">preg_split</span><span style="color: #007700">(</span><span style="color: #DD0000">'/&nbsp;/'</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$str</span><span style="color: #007700">,&nbsp;-</span><span style="color: #0000BB">1</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">PREG_SPLIT_OFFSET_CAPTURE</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$chars</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span>
</span>
</code></div>
    </div>

    <div class="example-contents para"><p>L&#039;exemple ci-dessus va afficher :</p></div>
    <div class="example-contents screen">
<div class="cdata"><pre>
Array
(
    [0] =&gt; Array
        (
            [0] =&gt; langage
            [1] =&gt; 0
        )

    [1] =&gt; Array
        (
            [0] =&gt; hypertexte,
            [1] =&gt; 8
        )

    [2] =&gt; Array
        (
            [0] =&gt; programmation
            [1] =&gt; 20
        )

)
</pre></div>
    </div>
   </div><p>
  </p>
 </div>


 <a name="function.preg-split.notes"></a><div class="refsect1 notes">
  <h3 class="title">Notes</h3>
  <div class="tip"><b class="tip">Astuce</b>
   <p class="para">
    Si vous n&#039;avez pas besoin de la puissance des expressions régulières,
    vous pouvez choisir des alternatives plus rapides (quoique plus simples)
    comme <a href="function.explode.php" class="function">explode()</a> ou <a href="function.str-split.php" class="function">str_split()</a>.
   </p>
  </div>
 </div>


 <a name="function.preg-split.seealso"></a><div class="refsect1 seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   </p><ul class="simplelist">
    <li class="member"><a href="function.spliti.php" class="function" rel="rdfs-seeAlso">spliti()</a> - Scinde une chaîne en un tableau, grâce à une expression rationnelle</li>
    <li class="member"><a href="function.split.php" class="function" rel="rdfs-seeAlso">split()</a> - Scinde une chaîne en un tableau, grâce à une expression rationnelle</li>
    <li class="member"><a href="function.implode.php" class="function" rel="rdfs-seeAlso">implode()</a> - Rassemble les éléments d'un tableau en une chaîne</li>
    <li class="member"><a href="function.preg-match.php" class="function" rel="rdfs-seeAlso">preg_match()</a> - Expression rationnelle standard</li>
    <li class="member"><a href="function.preg-match-all.php" class="function" rel="rdfs-seeAlso">preg_match_all()</a> - Expression rationnelle globale</li>
    <li class="member"><a href="function.preg-replace.php" class="function" rel="rdfs-seeAlso">preg_replace()</a> - Rechercher et remplacer par expression rationnelle standard</li>
   </ul><p>
  </p>
 </div>


</div><?php manual_footer(); ?>
 
show source | credits | sitemap | contact | advertising | mirror sites