begin process at 2012 05 27 22:10:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Class et Objet ( POO )

 > CLASS D'OBJET TEXTE

CLASS D'OBJET TEXTE


 Description

Cette source permet de créer des objets articles. Il suffit de lui indiquer un fichier texte et celui-ci peut être affiché en HTML. Cette classe prend en compte les paragraphes et les titres. Peut être couplé à une CSS


 Conclusion

<?php
// +------------------------------------------------- ---------------------+
// | Class Article                                                        |
// +------------------------------------------------- ---------------------+
// | 20 Décembre 2004                                                     |
// +------------------------------------------------- ---------------------+
// | Cette classe permet de créer un objet article, de parser une fichier |
// | *.txt et de l'afficher au format HMTL                                |
// +------------------------------------------------- ---------------------+
//

class Article
  {
  // CONSTRUCTEUR
  //-------------
  function Article($fichier)
    {
    $this->fichier=$fichier;
    $this->titreGeneralCssClass="";
    $this->titreGeneralCssID="";
    $this->titreParagrapheCssClass="";
    $this->titreParagrapheCssID="";
    $this->paragrapheCssClass="";
    $this->paragrapheCssID="";
    }
  
  // MUTATORS
  //---------
  function setTitreGeneralCssClass($class)
    {
    $this->titreGeneralCssClass=$class;
    }
  function setTitreGeneralCssID($id)
    {
    $this->titreGeneralCssID=$id;
    }
  function setTitreParagrapheCssClass($class)
    {
    $this->titreParagrapheCssClass=$class;
    }
  function setTitreParagrapheCssID($id)
    {
    $this->titreParagrapheCssID=$id;
    }
  function setParagrapheCSSClass($class)
    {
    $this->paragrapheCssClass=$class;
    }
  function setParagrapheCssID($id)
    {
    $this->paragrapheCssID=$id;
    }
  
  // METHODES PUBLIQUES
  //-------------------
  function articleExiste()
    {
    if(!empty($this->fichier)) //Le fichier est il stipulé ?
      {
      $tmp=fopen($this->fichier,"r",FALSE); //Le fichier existe t il ?
      if($tmp!=false)
        {
        fclose($tmp);
        return true;
        }
      else return false;
      }
    else return false;
    }
  
  function affiche()
    {
    if($this->articleExiste())
      {
      //Lecture du fichier
      $lignes=file($this->fichier);
      if(count($lignes)>0)
        {
        
        //Considérer la première ligne comme le titre de l'article
        echo "<h1 class=\"".$this->titreGeneralCssClass."\" id=\"".$this->titreGeneralCssID."\">\n";
        echo htmlentities($lignes[0],ENT_QUOTES);
        echo "</h1>\n";
        
        //Ecrire les différentes paragraphes
        $paragraphe_ouvert=false;
        for($i=1;$i<count($lignes);$i++)
          {
          //Si une ligne vide
          if(strcmp($lignes[$i],"\r\n")==0)
            {
            //Si la suivante n'est pas un sous-titre (commence par "\ST ")
            if($i<count($lignes)-1 && strncmp("\ST",$lignes[$i+1],3)!=0)
              {
              //Si le paragraphe a été commencé
              if($paragraphe_ouvert)
                {
                echo "</p>\n";
                $paragraphe_ouvert=false;
                }
              //Début de paragraphe
              else
                {
                echo "<p class=\"".$this->paragrapheCssClass."\" id=\"".$this->paragrapheGeneralCssID."\">\n";
                $paragraphe_ouvert=true;
                }
              }
            //Si suivante est un sous-titre et paragraphe a été ouvert
            else
              {
              if($paragraphe_ouvert)
                {
                echo "</p>\n";
                }
              else
                {
                echo "<br />";
                }
              }
            }
          else
            {
            if (strlen($lignes[$i])>4 && strncmp("\ST",$lignes[$i],3)==0)
              {
              echo "<h3 class=\"".$this->titreParagrapheCssClass."\" id=\"".$this->titreParagrapheCssID."\">\n";
              echo htmlentities(substr($lignes[$i],4),ENT_QUOTES)."\n ";
              echo "</h3>\n";
              }
            else
              {
              echo htmlentities($lignes[$i],ENT_QUOTES)."\n";
              }
            }
          }
        }
      }
    }
  //Champs de la classe
  var $fichier;                  //Nom et chemin du fichier contenant l'article
  var $titreGeneralCssID;        //Class CSS pour le titre général
  var $titreGeneralCssClass;     //ID CSS pour le titre général
  var $titreParagrapheCssID;     //Class CSS pour le titre d'un paragraphe
  var $titreParagrapheCssClass;  //ID CSS pour le titre d'un paragraphe
  var $paragrapheCssID;          //Class CSS pour un paragraphe
  var $paragrapheCssClass;       //ID CSS pour un paragraphe
  }


?>


 Sources du même auteur

CLASS D'ENSEMBLE DE FICHIERS À TÉLÉCHARGER
Source avec Zip CLASS DE FORMULAIRE HTML
Source avec Zip CLASS DE CONNEXION MYSQL
Source avec Zip CLASS DE TABLEAU HTML

 Sources de la même categorie

Source avec Zip GÉNÉRATION AUTOMATIQUE DE FICHIER .CLASS.PHP EN FONCTION D'U... par ig3
CLASSE D'OBJET DE CRYPTAGE ET DÉCRYPTAGE DE CHAINES DE CARAC... par 8Tnerolf8
Source avec Zip MY.DEVIANTART API par inwebo
CLASSE DE GESTION DE "VARIABLES GLOBALES D'ENVIRONNEMENT" par pifou25
Source avec Zip COLLECTION.CLASS.MIN.PHP par thunderhunter

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales