<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Les forums de JeBulle.net – [php][astuce] Preg_replace_callback]]></title>
		<link>https://forums.jebulle.net/topic/344/phpastuce-pregreplacecallback/</link>
		<atom:link href="https://forums.jebulle.net/feed/rss/topic/344/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Messages les plus récents de [php][astuce] Preg_replace_callback.]]></description>
		<lastBuildDate>Thu, 06 May 2004 12:44:58 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[[php][astuce] Preg_replace_callback]]></title>
			<link>https://forums.jebulle.net/post/4870/#p4870</link>
			<description><![CDATA[<p>Voici une petite astuce dont j&amp;#39;ai eu besoin et qui m&amp;#39;a couté un peu de tps de blocage <img src="https://forums.jebulle.net/img/smilies/smile.png" width="15" height="15" alt="smile" />. Je la mets pour quiconque serait bloqué à son tour.</p><p>L&amp;#39;utilisation de la fonction <em>preg_replace_callback</em> dans une méthode de classe diffère légèrement de l&amp;#39;utilisation avec une simple fonction.</p><p>Prenons un exemple : </p><div class="codebox"><pre><code>class MaClasse {

function fonction1 &amp;#40; &amp;#036;matches &amp;#41;
{
...
return &amp;#036;var;
}

function fonction2 &amp;#40; &amp;#036;texte &amp;#41;
{

&amp;#036;texte = preg_replace_callback&amp;#40; &amp;#34;regExpr&amp;#34;, &amp;#34;fonction1&amp;#34;, &amp;#036;texte &amp;#41;;
}

} </code></pre></div><p>On cherche ici à appeler la méthode <em>fonction1</em> par la fonction <em>preg_replace_callback</em>. La syntaxe précedente est <strong>invalide</strong> car nous nous trouvons dans une classe.</p><p>Pour pouvoir utiliser la méthode <em>fonction1</em> comme fonction de callback dans la méthode <em>fonction2</em>, il faut ecrire ceci :</p><div class="codebox"><pre><code>&amp;#036;texte = preg_replace_callback&amp;#40; &amp;#34;regExpr&amp;#34;, array&amp;#40;&amp;&amp;#036;this, &amp;#39;fonction1&amp;#39;&amp;#41;, &amp;#036;texte&amp;#41;; </code></pre></div><p>En règle générale, la syntaxe à utiliser avec une méthode de classe est la suivante :</p><div class="codebox"><pre><code>preg_replace_callback&amp;#40;pattern, array&amp;#40;&amp;#39;ClassName&amp;#39;, &amp;#39;methodName&amp;#39;&amp;#41;, subject&amp;#41;</code></pre></div><p>Voilà, c&amp;#39;est aussi simple que cela <img src="https://forums.jebulle.net/img/smilies/wink.png" width="15" height="15" alt="wink" />...encore faut-il le savoir &amp;#33; <img src="https://forums.jebulle.net/img/smilies/roll.png" width="15" height="15" alt="roll" /> </p><p>Sam.</p>]]></description>
			<author><![CDATA[null@example.com (SamRay1024)]]></author>
			<pubDate>Thu, 06 May 2004 12:44:58 +0000</pubDate>
			<guid>https://forums.jebulle.net/post/4870/#p4870</guid>
		</item>
	</channel>
</rss>
