Adventure,PHP,Framework,PageController,FrontController,Pattern,Objektorientierung,OO,Software,Design,Wiederverwendbarkeit,UML,Tutorial,Benchmark,ausgezeichnete Performance

Suche:    
Downloads  |  SVN!  |  Roadmap  |  Forum!  |  Bugtracking  |  Gästebuch  |  Backlinks!  |  Referenzen!  |  Sitemap  |  Impressum  
 
Deutsch | English Adventure PHP Framework  Bookmark @ Technorati Bookmark @ del.icio.us Bookmark @ Mr. Wong Bookmark @ Simpy Bookmark @ Google Bookmark @ Digg.com Adventure PHP Framework Seite 026_klassenreferenz_bbcodeparser drucken!

Klassen-Referenz - bbCodeParser

Artikel bewerten:
Dieser Artikel wurde noch nicht bewertet. Bewerten Sie diesen Artikel als erstes!
Der bbCodeParser kann zur Formatierung von beliebigen Texten eingesetzt werden. Typischerweise beinhaltet bbCode-formatierter Text Steuerzeichen wie
  • [b]..[/b]
  • [i]..[/i]
  • [u]..[/u]
um fett, kursiv und unterstrichene Textpassagen zu kennzeichnen. Die Klasse bietet eine einfache und standardisierte Schnittstelle um diesen bbCode-ähnlich gestalteten Text mit HTML-Code formatiert ausgeben zu können. Die Einbindung der Komponente kann per
  import('tools::string','bbCodeParser'); 
erfolgen.

Hinweis: Der hier verwendete Formatierungscode ist an den als BBCode bekannten Formatierungscode angelehnt und benutzt an manchen Stellen andere Formatierungszeichen. Details können der API-Dokumentation entnommen werden.

Um den im Framework enthaltenen bbCodeParser verwenden zu können, muss dieser zunächst konfiguriert werden. Zu diesem Zweck muss eine Konfigurationsdatei unter dem Pfad
   /config/tools/string/{CONTEXT}/{ENVIRONMENT}_fonttags.ini
vorhanden sein. Diese Datei definiert die Bereiche Schriftgrößen und Farben. Ein typischer Inhalt ist:
  [FontSize]
  1 = "10px"
  2 = "12px"
  3 = "16px"
  4 = "18px"
  5 = "24px"
  6 = "32px"

  [Color]
  gruen = "#56a437"
  blau = "#002488"
  hellblau  = "rgb(102 153 255)"
  orange = "rgb(233 142 31)"
  grau = "#666666"
  rot = "red"
  lila = "yellow"
Damit ist es möglich Schriftgrößen per
  [3]...[/3]
und Schriftfarben mit
  [orange]...[/orange]
zu beeinflussen. Die Anzahl der Einträge pro Sektion ist nicht begrenzt und kann beliebig angepasst werden.


Der bbCodeParser bietet zudem eine Erweiterungsschnittstelle (extension point), um weitere Formatierer einfach einhängen zu können. Zu diesem Zweck muss die Konfigurationsdatei
   /config/tools/string/{CONTEXT}/{ENVIRONMENT}_bbcpext.ini
angelegt werden. Diese definiert die zusätzlichen Formatter, die nach dem Formatieren der Standard-Tags aufgerufen werden. Eine typische Konfigurationsdatei hat folgende Gestalt:
  [News]
  Namespace = "sites::demosite::biz::bbcpext"
  Module = "HeadlineFormatter"
  Class = "HeadlineTagParser"
  Method = "parseTags"
Jede Sektion beschreibt den Namespace, in dem der Formatter liegt, dessen Datei- und Klassennamen und den Namen der Methode, die zur Formatierung verwendet wird. Der dort definierten Methode wird ein zu formatierender Text übergeben und muss den fertig formatierten Text zurückliefern. Die Extension-Konfigurationsdatei kann beliebig viele Formatter definieren.

Der im Beispiel gezeigte Formatter wird wie folgt implementiert (gekürzt):
   class HeadlineTagParser
   
{

      function 
HeadlineTagParser(){
      }

      function 
parseTags($Text){

         
$Headlines = array('[U1]' => '<font style="font-size: 20px; font-weight: bold;">',
                            
'[u1]' => '<font style="font-size: 20px; font-weight: bold;">',
                            
'[/U1]' => '</font>',
                            
'[/u1]' => '</font>'
                         
);
         return 
strtr($Text,$Headlines);

       
// end function
      
}

    
// end class
   

Kommentare

Bitte geben Sie Ihren Kommentar hier ein. Füllen Sie alle mit * gekennzeichneten Felder vollständig und korrekt aus. Um zum Artikel zurückzukehren klicken sie bitte hier. Zur Formatierung des Textes können folgende BBCode-ähnliche die Zeichen verwendet werden:
  • [f]..[/f]: fett
  • [k]..[/k]: kursiv
  • [u]..[/u]: unterstrichen
Hinweis: Formatierungszeichen in Name und E-Mail-Adresse werden nicht akzeptiert.

Name:*
E-Mail:*

Kommentar:


Bestätigungscode:*



Powered by WebRing.