str_replace tags extern einfuegen

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von oconner, 04.06.2006.

  1. oconner

    oconner Thread Starter MacUser Mitglied

    Beiträge:
    269
    Zustimmungen:
    0
    Mitglied seit:
    11.01.2006
    Hallo,

    ich habe mir bei einem Gästebuch mittels eregi_replace und str_replace eine Art bbcode gebaut. Nun ist das ziemlich viel geworden, so das ich das in einer externen Datei gespeichert habe.

    Nun will ich in meiner while Schleife die die Einträge aufruft die Datei mit meinem bbcode includieren aber mit include geht es nicht. Müste das explode heiße oder so? Oder wie muss ich das machen?

    ein kleines beispiel wie es im code aussieht waere das hier.

    PHP:
    while ( $row mysql_fetch_object $query )) 
        {
            include (
    'bbcode.php');
            echo 
    '<b>'.$row->text.'</b>'
    Ich hoffe mir kann jemand helfen.:o
     
  2. simusch

    simusch MacUser Mitglied

    Beiträge:
    2.230
    Zustimmungen:
    187
    Mitglied seit:
    27.09.2004
    am besten machst du daraus eine funktion...


    datei bbcode.php:

    PHP:
    function bbcode($str)
    {
        
    str_replace('[b]','<b>',$str);
        ....... 
    und so weiter
    }

    gästebuch:

    PHP:
    include('bbcode.php');
    echo 
    '<b>'.bbcode($row->text).'</b>';

    grüsse

    simu
     
  3. oconner

    oconner Thread Starter MacUser Mitglied

    Beiträge:
    269
    Zustimmungen:
    0
    Mitglied seit:
    11.01.2006
    ok das probiere ich aus.

    Und wenn ich nun auf das .bbcode($row->text). meherere funktionen legen möchte wie muss ich das dann machen?

    weil ja auch htmlentities rein muss etc.
     
  4. msslovi0

    msslovi0 MacUser Mitglied

    Beiträge:
    2.714
    Zustimmungen:
    115
    Mitglied seit:
    20.03.2005
    In die Funktion packst du alles rein, was du derzeit in bbcode.php hast. Also alle wie auch immer gearteten replace-Funktionen.

    Matt
     
  5. scope

    scope MacUser Mitglied

    Beiträge:
    4.085
    Zustimmungen:
    301
    Mitglied seit:
    24.01.2005
    Benutze in diesem Falle lieber reguläre Ausdrücke, um sicherzustellen, dass alle Tags auch geschlossen wurden.

    PHP:
    $code preg_replace"(\[b\])(.*)(\[/b\])""<b>\\2</b>"$code );
     
  6. oconner

    oconner Thread Starter MacUser Mitglied

    Beiträge:
    269
    Zustimmungen:
    0
    Mitglied seit:
    11.01.2006
    hm...

    jetzt bekomme ich ne Fehlermeldung und zwar diese hier

    meine funktion sieht so aus

    PHP:
    function bbcode($gb_text)
        {

    //hier ist ewig viel str_replace und eregi_replace

    }
    @scope ja das werde ich noch umschreiben, danke .
     
  7. msslovi0

    msslovi0 MacUser Mitglied

    Beiträge:
    2.714
    Zustimmungen:
    115
    Mitglied seit:
    20.03.2005
    Wie oft inkludierst du denn bbcode.php?

    Matt
     
  8. oconner

    oconner Thread Starter MacUser Mitglied

    Beiträge:
    269
    Zustimmungen:
    0
    Mitglied seit:
    11.01.2006
    einmal. ah...

    aber ich glaube es ist nicht sinnvoll das schon in der while schleife zu includieren oder?

    [aber wie bekomme ich denn sonst das vor de text "$row->text" ]
     
  9. msslovi0

    msslovi0 MacUser Mitglied

    Beiträge:
    2.714
    Zustimmungen:
    115
    Mitglied seit:
    20.03.2005
    Wenn du es in der while-Schleife inkludierst wird es jedes mal neu eingebunden (außer du machst ein include_once()).

    Aber gib mal mehr Code, mit den Bruchstücken kann man nicht wirklich was anfangen. Deine while-Schleife kann auf jeden Fall auf die Funktion zugreifen wenn du sie vorher includest.

    Matt
     
  10. oconner

    oconner Thread Starter MacUser Mitglied

    Beiträge:
    269
    Zustimmungen:
    0
    Mitglied seit:
    11.01.2006
    also mit include_once werden nun wieder alle beitraege angezeigt und der Fehler kommt auch nicht mehr :) danke.

    aber meine bbcode's funktionieren noch nicht.

    Hier mal ein beispiel (also ich hab nicht alle bbcodes rein)

    PHP:
    $gb_text $row->gb_text;

    function 
    bbcode($gb_text)
        {

    //smilies_start
    $gb_text str_replace (":bart:""<img src='images/aiwebs_001' border='0'>"$gb_text);
    $gb_text str_replace (":was:""<img src='images/aiwebs_002' border='0'>"$gb_text);
    $gb_text str_replace (":(""<img src='images/aiwebs_003' border='0'>"$gb_text);

    }

    ausgabe erfolgt so

    PHP:
    echo '<b>'bbcode($gb_text).'</b>';
    also so ist sie in der while schleife.
     
Die Seite wird geladen...

Diese Seite empfehlen