dams Tue Jan 30 23:57:50 2001 EDT Modified files: /phpdoc/fr/functions pcre.xml Log: preg_grep's update
Index: phpdoc/fr/functions/pcre.xml diff -u phpdoc/fr/functions/pcre.xml:1.12 phpdoc/fr/functions/pcre.xml:1.13 --- phpdoc/fr/functions/pcre.xml:1.12 Tue Jan 30 01:06:54 2001 +++ phpdoc/fr/functions/pcre.xml Tue Jan 30 23:57:49 2001 @@ -22,7 +22,7 @@ <example> <title>Exemples de masques valides</title> <itemizedlist> - <listitem><simpara>/<\/\w+>/</simpara></listitem> + <listitem><simpara>/&tl;\/\w+>/</simpara></listitem> <listitem><simpara>|(\d{3})-\d+|Sm</simpara></listitem> <listitem><simpara>/^(?i)php[34]/</simpara></listitem> <listitem><simpara>{^\s+(\s+)?$}</simpara></listitem> @@ -87,15 +87,16 @@ etc.. </para> <para> - Retourne <literal>TRUE</literal> si la recherche à réussie, et - <literal>FALSE</literal> sinon (notamment en cas d'erreur). + <function>preg_match</function> retourne <literal>TRUE</literal> si la + recherche réussit, et <literal>FALSE</literal> sinon (notamment + en cas d'erreur). </para> <para> <example> <title>Extraction d'un numéro de page d'une chaîne.</title> <programlisting role="php"> <?php -if (preg_match("/page\s+#(\d+)/i", "Go to page #9.", $parts)) +if (preg_match("/page\s+#(\d+)/i", "Aller à la page numéro 9.", $parts)) print "La page suivante est $parts[1]"; else print "Page introuvable."; @@ -188,7 +189,7 @@ <informalexample> <programlisting role="php"> <?php -preg_match_all("|<[^>]+>(.*)</[^>]+>|U", "<b>example: </b><div align=left>a test</div>", $out, PREG_PATTERN_ORDER); +preg_match_all("|<[^>]+>(.*)</[^>]+>|U", "<b>example: +</b><div align=left>a test</div>", $out, PREG_PATTERN_ORDER); print $out[0][0].", ".$out[0][1]."\n"; print $out[1][0].", ".$out[1][1]."\n"; ?> @@ -197,13 +198,13 @@ Cet exemple va afficher : <informalexample> <computeroutput> -<b>exemple: </b>, <div align=left>ceci est un test</div> +<b>exemple: </b>, <div align=left>ceci est un test</div> exemple: , ceci est un test </computeroutput> </informalexample> - Ainsi, $out[0] est un tableau qui contient les - résultats qui satisfont le masque complet, - et $out[1] est un tableau qui contient les balises entre > et <. + Ainsi, $out[0] est un tableau qui contient les résultats qui + satisfont le masque complet, et $out[1] est un tableau qui contient + les balises entre > et <. </para> </listitem> </varlistentry> @@ -215,27 +216,27 @@ façon que $matches[0] contient la première série de résultat, $matches[1] contient la deuxième série de résultat, etc... - <informalexample> - <programlisting role="php"> + <informalexample> + <programlisting role="php"> <?php -preg_match_all("|<[^>]+>(.*)</[^>]+>|U", "<b>exemple: </b><div align=left>un test</div>", $out, PREG_SET_ORDER); +preg_match_all("|<[^>]+>(.*)</[^>]+>|U", "<b>exemple: +</b><div align=left>un test</div>", $out, PREG_SET_ORDER); print $out[0][0].", ".$out[0][1]."\n"; print $out[1][0].", ".$out[1][1]."\n"; ?> - </programlisting> - </informalexample> - Cet exemple va afficher : - <informalexample> - <computeroutput> -<b>exemple: </b>, exemple: -<div align=left>un test</div>, un test - </computeroutput> - </informalexample> - Dans ce cas, $matches[0] est la première série de - résultat, et $matches[0][0] contient le texte qui satisfait - le masque complet, $matches[0][1] contient le texte de la - première parenthèse capturante, etc... De même, - $matches[1] contient le texte qui satisfait le masque complet, etc. + </programlisting> + </informalexample> + Cet exemple va afficher : + <informalexample> + <computeroutput> +<b>exemple: </b>, exemple: +<div align=left>un test</div>, un test + </computeroutput> + </informalexample> + Dans ce cas, $matches[0] est la première série de + résultat, et $matches[0][0] contient le texte qui satisfait + le masque complet, $matches[0][1] contient le texte de la + première parenthèse capturante, etc... De même, + $matches[1] contient le texte qui satisfait le masque complet, etc... </para> </listitem> </varlistentry> @@ -303,7 +304,9 @@ <refentry id="function.preg-replace"> <refnamediv> <refname>preg_replace</refname> - <refpurpose>Rechercher et remplacer par expression régulière standard.</refpurpose> + <refpurpose> + Rechercher et remplacer par expression régulière standard. + </refpurpose> </refnamediv> <refsect1> <title>Description</title> @@ -324,18 +327,18 @@ résultats par <parameter>replacement</parameter>. </para> <para> - <parameter>replacement</parameter> peut contenir des - références de la forme - <literal>\\<replaceable>n</replaceable></literal> ou (depuis PHP 4.0.4) - <literal><replaceable>$n</replaceable></literal>. Cette dernière forme - est recommandée. Ces références seront remplacées - par le texte capturé par la <replaceable>n</replaceable>'-ième - parenthèse capturante du masque. <replaceable>n</replaceable> - peut prendre des valeurs de 0 à 99, et <literal>\\0</literal> - ou <literal>$0</literal>, correspondent au texte de qui satisfait le masque - complet. Les parenthèses ouvrantes sont comptées de gauche - à droit (en commencant à 1) pour déterminer - le numéro de parenthèse capturante. + <parameter>replacement</parameter> peut contenir des références + de la forme <literal>\\<replaceable>n</replaceable></literal> ou, + depuis PHP 4.0.4) <literal><replaceable>$n</replaceable></literal>. + Cette dernière forme est recommandée. Ces + références seront remplacées par le texte capturé + par la <replaceable>n</replaceable>'-ième parenthèse capturante + du masque. <replaceable>n</replaceable> peut prendre des valeurs de 0 à + 99, et <literal>\\0</literal> ou <literal>$0</literal>, correspondent + au texte de qui satisfait le masque complet. Les parenthèses + ouvrantes sont comptées de gauche à droite (en commencant + à 1) pour déterminer le numéro de parenthèse + capturante. </para> <para> Si la recherche n'aboutit à aucun résultat, @@ -397,7 +400,7 @@ <title>Utilisation de l'option /e </title> <programlisting role="php"> <?php -preg_replace("/(<\/?)(\w+)([^>]*>)/e", "'\\1'.strtoupper('\\2').'\\3'", $html_body); +preg_replace("/(<\/?)(\w+)([^>]*>/e", "'\\1'.strtoupper('\\2').'\\3'", $html_body); ?> </programlisting> </example> @@ -450,8 +453,7 @@ </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> @@ -521,8 +523,7 @@ ?> </programlisting> <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_replace</function>. </para> </refsect1> @@ -531,7 +532,8 @@ <refnamediv> <refname>preg_quote</refname> <refpurpose> - Echappement des caractères spéciaux des expressions régulières. + Echappement des caractères spéciaux des expressions + régulières. </refpurpose> </refnamediv> <refsect1> @@ -610,6 +612,13 @@ qui satisfont le masque <parameter>pattern</parameter>. </para> <para> + Depuis PHP 4.0.4, le tableau retourné par <function>preg_grep</function> + est indexé en utilisant les clés issues du tableau + <parameter>input</parameter>. Si ces clés sont inutiles, utilisez + la fonction <function>array_values</function> sur le tableau retourné + par <function>preg_grep</function> pour obtenir le comportement traditionnel. + </para> + <para> <example> <title>Exemple avec <function>preg_grep</function></title> <programlisting role="php"> @@ -715,7 +724,7 @@ substitution normale des références arrières dans la chaîne de remplacement, puis l'évalue comme un code PHP, et utilise le résultat pour remplacer la chaîne de recherche. - Cette optoin ne peut pas être utilisée avec <literal>/F modifier</literal>. + Cette optoin ne peut pas être utilisée avec +<literal>/F</literal>. </simpara> <simpara> Seule <function>preg_replace</function> utilise cette option. Elle est @@ -727,15 +736,17 @@ <term><emphasis>F</emphasis></term> <listitem> <simpara> - Avec cette option, <function>preg_replace</function> considère le paramètre - de remplacement comme un nom de fonction, qui doit être appelé pour fournir - la chaîne de remplacement. La fonction recoit un tableau d'éléments trouvés. - Cette option ne peut pas être utilisée avec l'option <literal>/e</literal>. + Avec cette option, <function>preg_replace</function> considère + le paramètre de remplacement comme un nom de fonction, qui doit + être appelé pour fournir la chaîne de remplacement. + La fonction recoit un tableau d'éléments trouvés. + Cette option ne peut pas être utilisée avec l'option + <literal>/e</literal>. </simpara> <simpara> <function>preg_replace</function> seuelement utilise cette option. - Elle est ignorée par les autres fonctions PCRE. Cette option a été ajoutée - en PHP 4.0.4. + Elle est ignorée par les autres fonctions PCRE. Cette option a + été ajoutée en PHP 4.0.4. </simpara> </listitem> </varlistentry> @@ -1054,7 +1065,7 @@ "\0\x\07", sera comprise comme deux caractères nuls, suivi d'un caractère alarme (BEL). Assurez vous que vous fournissez suffisamment de chiffres après le méta-caractère. - La gestion de la séquence "\y", avec y <> 0 est plutot compliquée. En dehors + La gestion de la séquence "\y", avec y <> 0 est plutot +compliquée. En dehors des caractères de classes, PCRE va lire y et tous les caractères qui suivent comme des chiffres décimaux. Si y est plus petit que 10, ou bien si il y a déjà eu au moins autant de parenthèses ouvrantes auparavant, la séquence est prise @@ -1518,8 +1529,8 @@ d'être réévaluée à chaque tentative. Ceci conduirait à ce que la recherche échoue immédiatement après le premier test. Ces assertions ont leur propre notation, - commencant avec (?>comme ceci : -(?>\d+)bar + commencant avec (?>comme ceci : +(?>\d+)bar Après avoir tenté d'utiliser les 6 chiffres suivi de "foo" qui fait échouer, l'action habituelle sera de réessayer avec 5 chiffres, puis avec 4, et ainsi de suite jusqu'à l'échec @@ -1528,7 +1539,7 @@ n'a pas besoin d'être réévaluée à chaque tentative. Ceci conduirait à ce que la recherche échoue immédiatement après le premier test. Ces assertions ont leur - propre notation, commencant avec (?>comme ceci : (?>\d+)bar. + propre notation, commencant avec (?> comme ceci : (?>\d+)bar. Ce type de parenthèses verrouille le sous-masque qu'il contient un fois qu'il a été trouvé, et empêche un échec ultérieur d'y repasser, mais autorise à revenir