Probleme mit BBCode-Parser von Christian Seiler

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme mit BBCode-Parser von Christian Seiler

    Hallo allerseits...

    Habe ein Problem mit oben besagtem Parser...sitze da jetzt schon den ganzen Tag drann und finde keine Antwort.

    Folgendes Problem:

    Ich sitze an einer Webseite bei der der DB-Inhalt schon gegeben ist. nur leider sind die Tags für Fett, Kursic ect nicht wie gewohnt <b>, <i> sondern [F] oder [K]...habe es teilweise mit obrigem Parser geschafft, aber noch nicht ganz...


    Das hier ist mein aktueller Code (ehrlich gesagt verliere ich langsam ein wenig den Überblick.,.;-) )

    Code:
    require_once '../../inc/stringparser_bbcode.class.php';
    $bbcode = new StringParser_BBCode ();
                                                                        
    $bbcode->addCode ('F', 'simple_replace', null, array ('start_tag' => '<b>', 'end_tag' => '</b>'),
    'inline', array ('block', 'inline'),  array ());  
                                                
    $bbcode->addCode ('/F', 'simple_replace', null, array ('start_tag' => '<b>', 'end_tag' => '</b>'),
    'inline', array ('block', 'inline'),  array ()); 
                                                
    $bbcode->addCode ('K', 'simple_replace', null, array ('start_tag' => '<i>', 'end_tag' => '</i>'),
    'inline', array ('block', 'inline'),  array ());  
                                                
    $bbcode->addCode ('/K', 'simple_replace', null, array ('start_tag' => '<i>', 'end_tag' => '</i>'),
    'inline', array ('block', 'inline'),  array ());  
                                                
                                                
    include ('../../inc/db.php');
                                                
    $mysql_abfrage = "SELECT s_reihe, s_redaktion, s_musikredaktion, s_moderation, s_technik, s_themen, s_sender, ";
    $mysql_abfrage .= "DATE_FORMAT(s_datum, '%d.%m.%Y') AS de_datum FROM sendungen ";
    $mysql_abfrage .= "WHERE s_reihe = '8' ORDER BY s_datum DESC LIMIT 1";
            
    $mysql_ergebnis=mysql_query($mysql_abfrage);
                                            
    $num = mysql_num_rows($mysql_ergebnis);
                                                
    while($datensatz = mysql_fetch_assoc($mysql_ergebnis))
    {
        $s_themen_neu = $bbcode->parse ($datensatz["s_themen"]);
                                                    
        echo '<h1>Inhalte der Sendung vom ' . $datensatz["de_datum"] . '</h1>';
                                                    
        echo '<p>Inahlte der Sendung:</p><br />';
        echo '<p>' . nl2br($s_themen_neu) .'</p>';
                                                    
        echo '<p>Moderation: ' . $datensatz["s_moderation"] . '</p>';
        echo '<p>Technik: ' . $datensatz["s_technik"] . '</p>';
        echo '<p>Redaktion: ' . $datensatz["s_redaktion"] . '</p>';
        echo '<p>Musikredaktion: ' . $datensatz["s_musikredaktion"] . '</p>';
      }
                                            
    mysql_close()
    Die Seite dazu ist hier: Seite

    Zur Hälfte funktioniert es jetzt sogar, nur leider werden die Tags nicht geschlossen. also [F] und [K] werden jetzt umgewandelt, aber noch nicht [/F] oder [/K]...also so siehts dann im Quellcode aus:

    Code:
    <b><i>'8 Prozent der Deutschen gehören zur neuen Unterschicht'[/K][/F]<br />
    Wenn jemand von euch da eine Idee hat das ganze zu lösen, dann bau ich dem jenigen ein Denkmal...^^

    schon mal vielen Dank für die Hilfe...

    Ragna

  • #2
    IMHO sind die Deklaration für

    $bbcode->addCode ('/F', '...

    $bbcode->addCode ('/K', ...

    überflüssig

    http://www.christian-seiler.de/proje...e/kapitel2.php

    Kommentar


    • #3
      $bbcode->addCode ('F', 'simple_replace', null, array ('start_tag' => '<b>', 'end_tag' => '</b>'),
      'inline', array ('block', 'inline'), array ());

      Wer lesen kann, ist klar im Vorteil. Steht alles in der Doku von Christian.

      Für die anderen Tags kannst du es genauso übernehmen.

      Wo ist das Denkmal?
      ICH BIN ICH!!!

      Kommentar


      • #4
        Die Sachen hab ich ja so aus der Doku...ausser das mit dem /F...war ein Versuch wert...aber dadurch ändert sich nichts...also mit und ohne ist die Ausgabe die gleiche...habs aber jetzt wieder rausgenommen...oder meinst Du was anderes ?
        Zuletzt geändert von Ragnaroek; 13.01.2008, 19:10.

        Kommentar


        • #5
          Bau dir mal ein Test-Szenario auf und beschränke deinen Code auf das wesentliche.

          1) Variable mit Inhalt.
          2) Regeln für ersetzen von F-Tags
          3) Parsen
          4) Testausgabe

          Wenn das keinen Erfolg bringt, dann ersetzt (str_replace()) du halt testweise mal die [F]Tags durch [b] tags.

          Daraus kannst du dann sicherlich eigene schlüsse ziehen.
          ICH BIN ICH!!!

          Kommentar


          • #6
            das ist eine gute Idee...danke

            muss halt dazu sagen dass ich erst so langsam bei php einsteige...DB-Sachen bekomme ich hin, aber die anderen Sachen kommen erst noch..;-)

            Danke noch mal...

            Ragna

            Kommentar

            Lädt...
            X