Articles
This document is also available in English
preg_split() éclate une chaine par expression rationnelle. Elle est dans la lignée de explode() et str_split(), sauf que preg_split() utilise le moteur d'expression rationnelle, à la fois plus puissant, mais aussi plus lent.
Exemple 1 - Compter le nombre de mots dans une phrase :
<?php function FindMots($s){ $p=preg_split("/\s+/",$s); foreach($p as $w){ $a[strtolower($w)]++; } return $a; } $s='PHP langage de programmaTION Php PhP LangAgE'; print_r(FindMots($s)); ?><strong> </strong>
Exemple 2 - Conversion d'entités html avec exceptions :
<?php function html_convert ($string) { $out = ''; $pattern = '/(<\/?(?:a .*|h1|h2|b|i|html)>)/ims'; $array = preg_split( $pattern, $string, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY ); foreach ($array as $element) { if (!preg_match($pattern, $element)){ $out .= htmlspecialchars ($element); }else{ $out .= $element; } } return $out; } echo html_convert('<html><b>foo</b><i>bar</i>un texte hors balise<p>balisÈ avec paragraphe</p><h1>et titre de forme h1</h1></html>'); ?><strong> </strong>
Exemple 3 - Récupérer les types mimes gérés par un navigateur :
<?php $mimetypes = preg_split(';[\s,]+;', substr(getenv('HTTP_ACCEPT'), 0, strpos(getenv('HTTP_ACCEPT') . ';', ';')), -1, PREG_SPLIT_NO_EMPTY); // par exemple : Array ( [0] => text/xml [1] => application/xml [2] => application/xhtml+xml [3] => text/html ) ?><strong> </strong>
A mémoriser
- preg_split() est de la famille preg, il utilise et se conforme donc au moteur d'analyse d'expression régulière PCRE
- N'utilisez pas un preg, alors que vous pouvez utiliser une fonction similaire sans expression régulière ( explode(), str_split())
| < Précédent | Suivant > |
|---|
Commentaires
Vous pouvez ajouter votre commentaire! |
Vous devez vous connecter pour commenter


