<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.strings.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'function.strip-tags.php',
    1 => 'strip_tags',
    2 => 'Supprime les balises HTML et PHP d\'une cha&icirc;ne',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'Fonctions sur les cha&icirc;nes de caract&egrave;res',
  ),
  'prev' => 
  array (
    0 => 'function.strcspn.php',
    1 => 'strcspn',
  ),
  'next' => 
  array (
    0 => 'function.stripcslashes.php',
    1 => 'stripcslashes',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/strings/functions/strip-tags.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.strip-tags" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">strip_tags</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">strip_tags</span> &mdash; <span class="dc-title">Supprime les balises HTML et PHP d&#039;une chaîne</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.strip-tags-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>strip_tags</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$string</code></span>, <span class="methodparam"><span class="type"><span class="type"><a href="language.types.array.php" class="type array">array</a></span>|<span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.null.php" class="type null">null</a></span></span> <code class="parameter">$allowed_tags</code><span class="initializer"> = <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong></span></span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>

  <p class="para rdfs-comment">
   <span class="function"><strong>strip_tags()</strong></span> tente de retourner la chaîne <code class="parameter">string</code>
   après avoir supprimé tous les octets nuls, toutes les balises PHP et HTML du code.
   Elle génère des alertes si les balises sont incomplètes ou erronées. Elle utilise
   le même moteur de recherche que <span class="function"><a href="function.fgetss.php" class="function">fgetss()</a></span>.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.strip-tags-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">string</code></dt>
     <dd>
      <p class="para">
       La chaîne d&#039;entrée.
      </p>
     </dd>
    
    
     <dt><code class="parameter">allowed_tags</code></dt>
     <dd>
      <p class="para">
       Il est possible d&#039;utiliser ce paramètre optionnel pour spécifier les balises
       qui ne doivent pas être supprimées.
       Elles sont soit fournies en tant que <a href="language.types.string.php" class="link">chaîne de caractères</a>, ou à partir de PHP 7.4.0, en
       tant que <a href="language.types.array.php" class="link">tableau</a>. Se référer aux exemples ci-dessous pour le format de
       ce paramètre.
      </p>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <p class="para">
        Les commentaires HTML et PHP sont également supprimés. Ce comportement
        ne peut être modifié avec le paramètre <code class="parameter">allowed_tags</code>.
       </p>
      </p></blockquote>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <p class="para">
        Les balises auto-fermantes XHTML sont ignorées et seules les balises qui
        ne sont pas auto-fermantes doivent être utilisées dans la chaîne 
        <code class="parameter">allowed_tags</code>. Par exemple, pour autoriser à la fois 
        <code class="literal">&lt;br&gt;</code> et <code class="literal">&lt;br/&gt;</code>, il faut utiliser :
       </p>
       <div class="informalexample">
        <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />strip_tags</span><span style="color: #007700">(</span><span style="color: #0000BB">$input</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;br&gt;'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
        </div>

       </div>
      </p></blockquote>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.strip-tags-returnvalues">
  <h3 class="title">Valeurs de retour</h3>
  <p class="para">
   Retourne la chaîne échappée.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.strip-tags-changelog">
  <h3 class="title">Historique</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Version</th>
       <th>Description</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.0.0</td>
       <td>
        <code class="parameter">allowed_tags</code> est désormais nullable.
       </td>
      </tr>

      <tr>
       <td>7.4.0</td>
       <td>
        <code class="parameter">allowed_tags</code> accepte désormais un <a href="language.types.array.php" class="link">tableau</a>.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.strip-tags-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Exemple avec <span class="function"><strong>strip_tags()</strong></span></strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$text </span><span style="color: #007700">= </span><span style="color: #DD0000">'&lt;p&gt;Test paragraph.&lt;/p&gt;&lt;!-- Comment --&gt; &lt;a href="#fragment"&gt;Other text&lt;/a&gt;'</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">strip_tags</span><span style="color: #007700">(</span><span style="color: #0000BB">$text</span><span style="color: #007700">);<br />echo </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">// Autorise &lt;p&gt; et &lt;a&gt;<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">strip_tags</span><span style="color: #007700">(</span><span style="color: #0000BB">$text</span><span style="color: #007700">, </span><span style="color: #DD0000">'&lt;p&gt;&lt;a&gt;'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// à partir de PHP 7.4.0 la ligne ci-dessus peut être écrite en tant que :<br />// echo strip_tags($text, ['p', 'a']);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>L&#039;exemple ci-dessus va afficher :</p></div>
    <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">Test paragraph. Other text
&lt;p&gt;Test paragraph.&lt;/p&gt; &lt;a href=&quot;#fragment&quot;&gt;Other text&lt;/a&gt;</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 notes" id="refsect1-function.strip-tags-notes">
  <h3 class="title">Notes</h3>
  <div class="warning"><strong class="warning">Avertissement</strong>
   <p class="para">
    Cette fonction ne devrait pas être utilisée pour empêcher les attaques XSS.
    Utiliser des fonctions plus appropriées comme <span class="function"><a href="function.htmlspecialchars.php" class="function">htmlspecialchars()</a></span>
    ou d&#039;autres méthodes en fonction du contexte de la sortie.
   </p>
  </div> 
  <div class="warning"><strong class="warning">Avertissement</strong>
   <p class="para">
    Comme <span class="function"><strong>strip_tags()</strong></span> ne valide pas le HTML,
    les balises partielles ou rompues peuvent conduire à la suppression de
    plus de textes/données que désiré.
   </p>
  </div>
  <div class="warning"><strong class="warning">Avertissement</strong>
   <p class="para">
    <span class="function"><strong>strip_tags()</strong></span> ne modifie pas les attributs des
    balises que l&#039;on autorise via le paramètre <code class="parameter">allowed_tags</code>,
    y compris les attributs <code class="literal">style</code> et <code class="literal">onmouseover</code>, que des
    utilisateurs mal intentionnés peuvent utiliser.
   </p>
  </div>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <p class="para">
    Les noms des balises dans le HTML d&#039;entrée qui sont supérieurs à 1023 octets
    de longueur seront traités comme invalides, suivant le paramètre
    <code class="parameter">allowed_tags</code>.
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.strip-tags-seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.htmlspecialchars.php" class="function" rel="rdfs-seeAlso">htmlspecialchars()</a> - Convertit les caract&egrave;res sp&eacute;ciaux en entit&eacute;s HTML</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>