<?

/******************************************************************************/
/**     Une Class qui permet de recherche une occurence et de l'encadrer.    **/
/******************************************************************************/
/*    Auteur:     courou                                                      */
/*    Email :     courou@mail.com                                             */
/*    Email :     allreponse@allreponse.ath.cx                                */
/*    Web:        http://allreponse.ath.cx                                    */
/*    Web:        http://allreponse.nexen.net                                 */
/*                                                                            */
/*        ********   Description des variables   ********                     */
/*                                                                            */
/*        var $chaine      ------> Texte où l'on recherche l'occurence        */
/*        var $debut       ------> Debut de l'occurence recherche             */
/*        var $fin         ------> Fin de l'occurence recherche               */
/*        var $debut_tag   ------> Debut de l'encadrement                     */
/*        var $fin_tag     ------> Fin de l'encadrement                       */
/*        var $debug=false ------> Active ou desactive le debuggage           */
/*                                                                            */
/*       **********  Description des méthodes et arguments  ************      */
/*                                                                            */
/*    class change_occurence        ----> Description des variables           */
/*    function change_occurence     ----> Initialisation des variables        */
/*    function recherche_occurence  ----> Fonction de recherche et de         */
/*                                        remplacement                        */
/*    function debug                ----> fonction de debuggage               */
/*                                                                            */
/*               **********  Condition de debuggage  ************             */
/*    Pour debugger, modifier la function debug par les objets que vous voulez*/
/*    vérifier.                                                               */
/*                                                                            */
/*    Utilisation :                                                           */
/*     - Ajouter à l'endroit ou vous souhaitez debugger                       */
/*            ---->  if($this->debug) $this->debug();                         */
/*                                                                            */
/*     - Afficher le resultat du debuggage                                    */
/*            ----> $courou->debug=true;                                      */
/*                                                                            */
/*            ************ Exemple et utilisation **********                  */
/*                                                                            */
/* $courou=new change_occurrence();            ****** declaration de la class */
/* $courou->chaine="Remplace <img src=yoyo.gif height=100 width=50 border=0>  */
/*        par un petit tableau.";             ****** texte ou l'on cherche    */
/* $courou->debut="<img ";             ****** debut de l'occurence recherche  */
/* $courou->fin=">";                   ****** fin de l'occurence recherche    */
/* $courou->debut_tag="<table><tr><td>";      ****** debut de l'encadrement   */
/* $courou->fin_tag="</td></tr></table>";     ****** fin de l'encadrement     */
/*                                                                            */
/*                ***   Ensuite pour appeler la class    ***                  */
/*                                                                            */
/*   echo $courou->recherche_occurrence();                                    */
/******************************************************************************/

        /*
        ** Debut de la class
        */

class change_occurrence
{
var
$chaine;
var
$debut;
var
$fin;
var
$debut_tag;
var
$fin_tag;
var
$debug=false;

function
debug()
{
    echo
"<br><br>chaine : $this->chaine<br>";
    echo
"<br><br>debut  : $this->debut<br>";
}

function
change_occurrence()
{
    
$this->chaine="";
    
$this->debut="";
    
$this->fin="";
    
$this->debut_tag="";
    
$this->fin_tag="";
}

function
recherche_occurrence()
{
    while(
strpos($this->chaine,$this->debut) > 0 )
    {
        
$this->occurrence = substr($this->chaine,
                            
strpos($this->chaine,$this->debut));
        
$this->occurrence = substr($this->occurrence,0,
                            
strpos($this->occurrence,$this->fin)+1);
        echo
substr($this->chaine,0,strpos($this->chaine,$this->debut));
        
$this->chaine = substr($this->chaine,
                        
strpos($this->chaine,$this->debut)+strlen($this->occurrence));

        echo
$this->debut_tag.$this->occurrence.$this->fin_tag;
    }
    return (
$this->chaine);
}

}
        
/*
        ** Fin de la class
        */

?>