<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Les forums de JeBulle.net – [php][astuce] Preg_replace_callback]]></title>
	<link rel="self" href="https://forums.jebulle.net/feed/atom/topic/344/" />
	<updated>2004-05-06T12:44:58Z</updated>
	<generator>PunBB</generator>
	<id>https://forums.jebulle.net/topic/344/phpastuce-pregreplacecallback/</id>
		<entry>
			<title type="html"><![CDATA[[php][astuce] Preg_replace_callback]]></title>
			<link rel="alternate" href="https://forums.jebulle.net/post/4870/#p4870" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[SamRay1024]]></name>
				<uri>https://forums.jebulle.net/user/2/</uri>
			</author>
			<updated>2004-05-06T12:44:58Z</updated>
			<id>https://forums.jebulle.net/post/4870/#p4870</id>
		</entry>
</feed>
