<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Darklg Blog &#187; fonctions</title>
	<atom:link href="http://darklg.me/tag/fonctions/feed/" rel="self" type="application/rss+xml" />
	<link>http://darklg.me</link>
	<description>Intégration, développement web, SEO, caféine</description>
	<lastBuildDate>Sat, 04 Feb 2012 12:09:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Deux fonctions méconnues à tort en PHP ( #2 )</title>
		<link>http://darklg.me/2008/07/deux-fonctions-meconnues-a-tort-en-php-2/</link>
		<comments>http://darklg.me/2008/07/deux-fonctions-meconnues-a-tort-en-php-2/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 18:08:58 +0000</pubDate>
		<dc:creator>Darklg</dc:creator>
				<category><![CDATA[Développement PHP / MySQL]]></category>
		<category><![CDATA[fonctions]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://darklg.me/?p=40</guid>
		<description><![CDATA[Pour poursuivre ma ( formidable ) série sur les fonctions méconnues en PHP, voici deux fonctions qui pourraient vous servir, mais que vous n&#8217;utilisez ( ou ne connaissez ) pas nécessairement. Evidemment, je ne prétends pas connaitre la vérité absolue en PHP, mais je partage simplement des fonctions que j&#8217;ai trouvées pratiques, et que j&#8217;ai [...]]]></description>
			<content:encoded><![CDATA[<p>Pour poursuivre ma ( formidable ) série sur les <a href="http://darklg.me/38/deux-fonctions-meconnues-a-tort-en-php/">fonctions méconnues en PHP</a>, voici deux fonctions qui pourraient vous servir, mais que vous n&#8217;utilisez ( ou ne connaissez ) pas nécessairement.<br />
Evidemment, je ne prétends pas connaitre la vérité absolue en PHP, mais je partage simplement des fonctions que j&#8217;ai trouvées pratiques, et que j&#8217;ai rencontrées par hasard <img src='http://darklg.me/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>substr_count()</h3>
<p>Cas pratique d&#8217;application : Compter le nombre d&#8217;apparitions de la lettre &laquo;&nbsp;a&nbsp;&raquo; dans cette phrase.<br />
1 &#8230; 2 &#8230; 3 &#8230; 5 &#8230; heu ? Pas si facile, n&#8217;est-ce pas ?<br />
Heureusement, la fonction substr_count() peut vous aider :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">echo</span> <span style="color: #990000;">substr_count</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Cas pratique d'application : Compter le nombre d'apparitions de la lettre <span style="color: #000099; font-weight: bold;">\&quot;</span>a<span style="color: #000099; font-weight: bold;">\&quot;</span> dans cette phrase.&quot;</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'a'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Affiche ' 10 '</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>substr_count permet donc de compter le nombre d&#8217;occurences d&#8217;une chaine dans une autre chaine.<br />
Dit comme ça, c&#8217;est compliqué, mais ça permet, entre autres de créer un anti-spam basique ( détecter s&#8217;il y a trop d&#8217;occurences d&#8217;une balise, par exemple )</p>
<h3>lcfirst() ucfirst() ucwords() strtolower() strtoupper()</h3>
<p>Ok, il y en a trois, pas une seule <img src='http://darklg.me/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Ces fonctions permettent de gérer les minuscules / majuscules dans une chaine de caractères.<br />
Par exemple :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">echo</span> lcfirst<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HELLO WORLD'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Affichera &quot;hELLO WORLD&quot;</span>
<span style="color: #666666; font-style: italic;">// Le premier caractère de la chaine est désormais en minuscules.</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #990000;">ucfirst</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'hello world'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Affichera &quot;Hello world&quot;</span>
<span style="color: #666666; font-style: italic;">// Le premier caractère de la chaine est désormais en majuscules.</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #990000;">ucwords</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'hello world'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Affichera &quot;Hello World&quot;</span>
<span style="color: #666666; font-style: italic;">// Le premier caractère de chaque mot est désormais en majuscules.</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HELLO WORLD'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Affichera &quot;hello world&quot;</span>
<span style="color: #666666; font-style: italic;">// Tous les caracteres ont été passés en minuscules.</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #990000;">strtoupper</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'hello world'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Affichera &quot;HELLO WORLD&quot;</span>
<span style="color: #666666; font-style: italic;">// Tous les caracteres ont été passés en majuscules.</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Toutefois, ces fonctions ne feront strictement que ce qui est précisé plus haut.<br />
C&#8217;est à dire que pour mettre une phrase quelconque en minuscules, sauf la première lettre, il faudra combiner strtolower et ucfirst :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">echo</span> <span style="color: #990000;">ucfirst</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HELLO WORLD'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Affichera &quot;Hello world&quot;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>En espérant que ça vous serve autant que ça m&#8217;a servi <img src='http://darklg.me/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<hr />
<p style="font-size : 10px;">
	Un article publi&eacute; sur <a href="http://darklg.me">Darklg Blog</a> &copy; 2012<br />
	Lien vers l'article original : <a href="http://darklg.me/2008/07/deux-fonctions-meconnues-a-tort-en-php-2/">Deux fonctions méconnues à tort en PHP ( #2 )</a><br />
	<a rel="external nofollow" href="http://minurl.fr/?twitter&amp;titrelien=Darklg+Blog+%3A+Deux+fonctions+m%C3%A9connues+%C3%A0+tort+en+PHP+%28+%232+%29&amp;url=http://darklg.me/2008/07/deux-fonctions-meconnues-a-tort-en-php-2/" title="Envoyer vers Twitter, avec MinURL !">Partager cet article sur Twitter</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://darklg.me/2008/07/deux-fonctions-meconnues-a-tort-en-php-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deux fonctions méconnues ( à tort ) en PHP</title>
		<link>http://darklg.me/2008/07/deux-fonctions-meconnues-a-tort-en-php/</link>
		<comments>http://darklg.me/2008/07/deux-fonctions-meconnues-a-tort-en-php/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 09:26:36 +0000</pubDate>
		<dc:creator>Darklg</dc:creator>
				<category><![CDATA[Développement PHP / MySQL]]></category>
		<category><![CDATA[fonctions]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://darklg.me/?p=38</guid>
		<description><![CDATA[Lorsque je conçois un site dynamique, je suis souvent tenté de réinventer la roue pour ajouter des fonctionnalités. Des coups d&#8217;oeil jetés par dessus l&#8217;épaule de certains amis, collègues, anciens devs et autres m&#8217;ont prouvé que je n&#8217;étais pas le seul. Pour le bien de l&#8217;Humanité ( sisi ), je vous offre sur un plateau [...]]]></description>
			<content:encoded><![CDATA[<p>Lorsque je conçois un site dynamique, je suis souvent tenté de réinventer la roue pour ajouter des fonctionnalités. Des coups d&#8217;oeil jetés par dessus l&#8217;épaule de certains amis, collègues, anciens devs et autres m&#8217;ont prouvé que je n&#8217;étais pas le seul.<br />
Pour le bien de l&#8217;Humanité ( sisi ), je vous offre sur un plateau quelques fonctions méconnues, et pourtant extremement utiles :</p>
<h3>urldecode() : Unescape en PHP</h3>
<p>Une chaine préparée pour une URL via Javascript, avec par exemple la fonction escape(), doit être impérativement décodée avant traitement.<br />
Certains sont tentés de réinventer la fonction Javascript unescape() en php, alors qu&#8217;elle existe déjà sous un autre nom : urldecode();</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$chaine</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Cha%C3%AEne'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #990000;">urldecode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$chaine</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Affichera &quot;Chaîne&quot;</span></pre></div></div>

<p>Impeccable non ?</p>
<h3>ctype_*() : Ne pas utiliser les <acronym title="REGular EXpressions / Expressions Régulières">REGEX</acronym> à tout va.</h3>
<p>Admettons que vous attendiez une chaine de caracteres comprise entre &laquo;&nbsp;A&nbsp;&raquo; et &laquo;&nbsp;Z&nbsp;&raquo;. Vous devez évidemment vérifier son type, sinon l&#8217;univers peut s&#8217;écrouler à tout moment ( j&#8217;insiste ). Fébrilement, vous commencez à rédiger :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'#^([a-z]+)$#'</span><span style="color: #339933;">,</span><span style="color: #000088;">$chaine</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #339933;">...</span></pre></div></div>

<p>Disons le franchement, l&#8217;univers a eu le temps de s&#8217;écrouler 15 fois entre temps <img src='http://darklg.me/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Je vous présente donc les fonctions ctype !<br />
Pour remplacer notre vieille fonction, utilisons donc la liste suivante :</p>
<ul class="chunklist chunklist_book chunklist_children">
<li><a href="http://fr.php.net/manual/fr/function.ctype-alnum.php">ctype_alnum</a> — Vérifie qu&#8217;une chaîne est alphanumérique</li>
<li><a href="http://fr.php.net/manual/fr/function.ctype-alpha.php">ctype_alpha</a> — Vérifie qu&#8217;une chaîne est alphabétique</li>
<li><a href="http://fr.php.net/manual/fr/function.ctype-cntrl.php">ctype_cntrl</a> — Vérifie qu&#8217;un caractère est un caractère de contrôle</li>
<li><a href="http://fr.php.net/manual/fr/function.ctype-digit.php">ctype_digit</a> — Vérifie qu&#8217;une chaîne est un entier</li>
<li><a href="http://fr.php.net/manual/fr/function.ctype-graph.php">ctype_graph</a> — Vérifie qu&#8217;une chaîne est imprimable</li>
<li><a href="http://fr.php.net/manual/fr/function.ctype-lower.php">ctype_lower</a> — Vérifie qu&#8217;une chaîne est en minuscules</li>
<li><a href="http://fr.php.net/manual/fr/function.ctype-print.php">ctype_print</a> — Vérifie qu&#8217;une chaîne est imprimable</li>
<li><a href="http://fr.php.net/manual/fr/function.ctype-punct.php">ctype_punct</a> — Vérifie qu&#8217;une chaîne contient de la ponctuation</li>
<li><a href="http://fr.php.net/manual/fr/function.ctype-space.php">ctype_space</a> — Vérifie qu&#8217;une chaîne n&#8217;est faite que de caractères blancs</li>
<li><a href="http://fr.php.net/manual/fr/function.ctype-upper.php">ctype_upper</a> — Vérifie qu&#8217;une chaîne est en majuscules</li>
<li><a href="http://fr.php.net/manual/fr/function.ctype-xdigit.php">ctype_xdigit</a> — Vérifie qu&#8217;un caractère représente un nombre hexadécimal</li>
</ul>
<p>Pour remplacer notre preg_match, nous pouvons ainsi utiliser :</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">ctype_alpha</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$chaine</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #339933;">...</span></pre></div></div>

<p>Plus clair, non ?</p>
<p>Pour les perfectionnistes, non, ce ne sont pas deux fonctions, mais plutôt deux types de fonctions <img src='http://darklg.me/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<hr />
<p style="font-size : 10px;">
	Un article publi&eacute; sur <a href="http://darklg.me">Darklg Blog</a> &copy; 2012<br />
	Lien vers l'article original : <a href="http://darklg.me/2008/07/deux-fonctions-meconnues-a-tort-en-php/">Deux fonctions méconnues ( à tort ) en PHP</a><br />
	<a rel="external nofollow" href="http://minurl.fr/?twitter&amp;titrelien=Darklg+Blog+%3A+Deux+fonctions+m%C3%A9connues+%28+%C3%A0+tort+%29+en+PHP&amp;url=http://darklg.me/2008/07/deux-fonctions-meconnues-a-tort-en-php/" title="Envoyer vers Twitter, avec MinURL !">Partager cet article sur Twitter</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://darklg.me/2008/07/deux-fonctions-meconnues-a-tort-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

