Seite 1 von 1

bbcode auf einer nicht-phpbb-seite

Verfasst: 30.09.2005 17:38
von SyneX
Hallo,

kann mir jemand erklären, wie ich den BBCODE von phpBB parsen kann und dabei am besten die Funktionen von phpBB benutze?

Ich hab es Newsscript geschrieben, dass den Beitrag aus der MySQL Datenbank ausliest.

Kann mir jemand dazu die Codezeilen geben (+ die nötigen includes).

ich hab dann z.b. den text unter $news_text abgespeichert und will ihn dann mit functionen behandeln, dass ich echo $news_text; angeben kann und schon alles formatiert ist :)

Wäre sehr nett, wenn ihr mir helfen könntet.


PS: hab schon im Forum gesucht, aber so richtig nichts gefunden

Verfasst: 30.09.2005 18:39
von witzigerkiller
also ich mache das immer so, ist nciht ganz phpbb style:

Code: Alles auswählen

<img src="deinbild.jpg" width="15" height="15" alt=".-.">
damit machst du ein smylie und dann durch

Code: Alles auswählen

onclick="document.form1.textfeld.value=+"lala"
ergänzen:

gesammt dann

Code: Alles auswählen

<img src="deinbild.jpg" width="15" height="15" alt=".-." onclick="document.form1.textfeld.value=+"lala">
dann in php ersetzen:

$text[1] = "lala";
$neu[1] = "<img src=\"deinbild.jpg\" width=\"15\" height=\"15\" alt=\".-.\" >";

Code: Alles auswählen

preg_replace($text, $neu, $deinstringvomtextfeld);
und dann speicherst du es in eine datenbank und wenn du den text mit echo wiedergibst, dann mach so:

echo nl2br($abgefragtertext);

dann wird er mit zeilenumbrüchen dargestellt.

Das gleiche kannst du mit buttons machen.

Verstanden? - Wenn nciht schreibe ich dir ein kleines script

Verfasst: 30.09.2005 18:44
von SyneX
nein das meinte ich nicht

ich meinte wenn ich das ausgelesen habe, soll zum beispiel durch <b> ersetzt werden. am besten noch mit den funktionen von phpbb

Verfasst: 30.09.2005 18:45
von witzigerkiller
das meinte ich.

Warte ich schreibe nen script

Verfasst: 30.09.2005 18:54
von witzigerkiller
so, hier:

Code: Alles auswählen

<form action="#" method="post" name="lala">
 <table>
  <tr>
   <td>BBCODE:</td>
  </tr>
  <tr>
   <td><textarea cols="25" rows="6" name="bbcode"></textarea><td>
  </tr>
  <tr>
   <td><input type="button" name="lulu" value="B" onClick="document.lala.bbcode.value += ' [b] '"></td>
  </tr>
  <tr>
   <td>
   <input type="button" name="lulu" value="B" onClick="document.lala.bbcode.value += ' [/b] '"></td>
  </tr>
  <tr>
   <td><input type="submit" name="Submit" value="TEst" /></td>
  </tr>
 </table>
</form>

<?PHP

if (isset($_POST['Submit']))
{
    $bbcode[1] = "[b]";
    $bbcode[2] = "[/b]";
    
    $ersatz[1] = "<b>";
    $ersatz[2] = "</b>";
    
    $eintrag = preg_replace($bbcode, $ersatz, $_POST['bbcode']);
    
    // Jetzt str&auml;gst du das $eintrag in die datenbank ein
    
    /* wenn du das eingetragene abfragst: z.b mit while($daten=mysql_fetch_assoc($query))
       dann mach:
       
       echo nl2br($daten['eintrag']); 
       
    */
}

?>

Verfasst: 30.09.2005 19:05
von SyneX
Ich hätte das schon gerne (wie ich schon zweimal sagte), dass die funktionen von phpbb beutzt werden. Da der BBcode ja immer erweitert werden könnte und ich somit keine lust habe, das bei beiden seiten zu machen

Verfasst: 30.09.2005 19:09
von fanrpg
SyneX hat geschrieben:Ich hätte das schon gerne (wie ich schon zweimal sagte), dass die funktionen von phpbb beutzt werden. Da der BBcode ja immer erweitert werden könnte und ich somit keine lust habe, das bei beiden seiten zu machen
ehm o.ô du schreibst das einmal z.B als bbcode_ext.php oder so ähnlich

Code: Alles auswählen

<?php
function bbcode($text)
{
$text = htmlspecialchars($text);
$text = str_replace("[b]", "<b>", $text);
$text = str_replace("[/b], "</b>", $text);

$text = str_replace("[i]", "<i>", $text);
$text = str_replace("[/i]", "</i>", $text);
// Und weitere Funtkionen
}
?>
und dann includierst du das in deine Skripte rein

Code: Alles auswählen

include("bbcode_ext.php");
Und wenn du dann einen Text hast der durch BBCode ersetzt werden soll dann machst du das so:

Code: Alles auswählen

$message = bbcode($message);
Und jeder BBCode wird umgewandelt der du in der function bbcode(); definierst hast o.ô

Verfasst: 30.09.2005 20:50
von SyneX
naja so dumm bin ich nicht mehr... wollte eigentlich die phpbb funktionen benutzen, werde jetzt aber wohl doch das selber machen müssen

Verfasst: 30.09.2005 21:06
von witzigerkiller
was ist denn bitte nicht zu verstehen?

Bitte das folgende nciht ernst nehmen:

"Wie können es für Ausländer -> z.b. Chinesn"

gerne wiederholen.

Dann sind halt kommentare drinne :-)