• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

BB-Codes in Shoutbox einfügen

Joern90

Neues Mitglied
Ich habe ein Shoutbox-Script im Internet gefunden. Dieses habe ich so bearbeitet, wie ich es haben möchte. Nun weis ich leider nicht wie ich dort eine BB-Code Funktion einbauen kann. Ich zeige euch mal die komplette Seite.

Bin leider Anfänger. :sad:


PHP:
<center><?php
$mysql['host'] = 'localhost';
$mysql['user'] = 'joern';
$mysql['pass'] = 'passwort';
$mysql['root'] = 'joern';
$mysql['table'] = 'shoutbox';
$mysql['handle'] = mysql_pconnect($mysql['host'], $mysql['user'], $mysql['pass']);
mysql_select_db($mysql['root']);
  $admin  = mysql_query("SELECT * FROM name2 WHERE name3 = '$name2'; ");
    while($row = mysql_fetch_object($admin)){
      $gründer="$row->gründer";
}

if(array_key_exists('submited', $_POST) && $_POST['submited'] == 'save') {
    $error = array();
    if(trim($_POST['name']) == '') $error[] = 'Bitte einen Namen angeben!';
    if(trim($_POST['text']) == '') $error[] = 'Bitte einen Text angeben!';
    if(trim($_POST['name2']) == '') $error[] = 'Bitte Name2 angeben!';
    if(count($error) > 0) {
        echo implode('<br />', $error);
    } else {
        mysql_query('INSERT INTO `'.$mysql['table'].'` (`name`, `name2`, `text`, `time`) VALUES (\''.addslashes($_POST['name']).'\', \''.addslashes($_POST['name2']).'\', \''.addslashes($_POST['text']).'\', \''.time().'\')');
    } 
} 
?>
<?php
$query = mysql_query('SELECT * FROM `'.$mysql['table'].'` ORDER BY `id` DESC');
echo '<table style="text-align: left; width: 600px;" border="0"
 cellpadding="2" cellspacing="2">
  <tbody> ';
while($row = mysql_fetch_assoc($query)) {
 if ($row['name2'] == $name2) {
    echo '
    <tr>
      <td><b>'.stripslashes($row['name']).'</b> schrieb am '.date('j.n.Y h:i', $row['time']).'</td>';
 if ($username == $gründer) { echo '<td><form action="/deleteshout.php" name="myform" method="post">
<input type="text" style="display:none;" value="'.$row['name2'].'"/>
<input name="id" type="text" style="display:none;" value="'.$row['id'].'"/>
<a href="javascript:document.forms.myform.submit();" >
<img src="delete.png" width="10" border="0" height="10" />
</a>
</form></td>'; }
    echo '</tr>
    <tr>
      <td bgcolor="3a3a3a" colspan="2" rowspan="1"><font color="ffffff">'.stripslashes($row['text']).'</font></td>
    </tr>
';

}
}

echo '  </tbody>
</table>';


?>

<center><form method="post" action="<?=$path?>">
<input type="text" name="name" maxlength="30" style="display:none;" value="<?php echo $username; ?>">
<textarea name="text" rows="5" style="width:600px;"></textarea>
<input type="text" name="name2" maxlength="30" style="display:none;" value="<?php echo $name2; ?>">
<br />
<input type="submit" name="submit" value="Speichern" />
</form>
Kann mir da jemand weiterhelfen? :?
 
Ah habs nun geschafft zwar nicht mit dieser Seite aber mit der Hilfe dieser Seite.

Habe folgendes gefunden:

Code:
function BBcode( $string ) {
    $uBBcode = array(
    "/<\/?[^\\<>|\/]*>/" => "",   # Strip any HTML tags
  "/\[b\](.+)\[\/b\]/i" => "<b>\\1</b>", # Bold UBB tag
  "/\[u\](.+)\[\/u\]/i" => "<u>\\1</u>", # underline UBB tag
  "/\[i\](.+)\[\/i\]/i" => "<i>\\1</i>", # italic UBB tag
  "/\[center\](.+)\[\/center\]/i" => "<center>\\1</center>", # center UBB tag
  "/\[quote\](.+)\[\/quote\]/i" => "<blockquote>«\\1»</blockquote>", # Quote uBB tags
  "/\[url\](?:http:\/\/)?(.+)\[\/url\]/i" => "<a href=\"http://\\1\" target=\"_blank\">\\1</a>", # UBB Url tag
  "/\[url=(?:http:\/\/)?(.+)\](.+)\[\/url\]/i" => "<a href=\"http://\\1\" target=\"_blank\">\\2</a>", # UBB Url tag
  "/\[img=(.+)\]/i" => "<img src=\"\\1\">", # UBB IMG tag
  "/(([a-zA-Z0-9_-]+)@([a-zA-Z0-9_-]+)([\.a-zA-Z0-9_-]+))/i" => "<a href=\"mailto:\\2@\\3\\4\" class=\"mail\">\\1</a>"); # Email Addresses
    
    foreach($uBBcode as $find => $replace) {
         $string = preg_replace($find, $replace, $string);
    }    
  return $string;
}
Jetzt müsste ich noch wissen, wie ich das mit Smileys erweitern kann.
 
Jetzt müsste ich noch wissen, wie ich das mit Smileys erweitern kann.
Den Array erweitern, ohne es jetzt getestet zu haben vielleicht so?
Code:
"/:\)/i" => "<img src=\"lachenenssmilie.jpg\" />", # :) <- smilie
Ob das so geht, weis ich nicht.
Ich persönlich würde dies mit str_replace machen, da sähe es denn so ungefähr aus:
PHP:
$text = str_replace(":)", "<img src=\"lachenenssmilie.jpg\" />", $text);
Mfg
 
Den Array erweitern, ohne es jetzt getestet zu haben vielleicht so?
Code:
"/:\)/i" => "<img src=\"lachenenssmilie.jpg\" />", # :) <- smilie
Ob das so geht, weis ich nicht.
Ich persönlich würde dies mit str_replace machen, da sähe es denn so ungefähr aus:
PHP:
$text = str_replace(":)", "<img src=\"lachenenssmilie.jpg\" />", $text);
Mfg


Oh da hätte ich auch selbst draufkommen können. :shock:


Nun hätte ich aber noch ein Problem, wenn ich in der Textarea einen Absatz machen, wird dieser beim Abschicken nicht übernommen. Was könnte man da machen?
 
Nun hätte ich aber noch ein Problem, wenn ich in der Textarea einen Absatz machen, wird dieser beim Abschicken nicht übernommen. Was könnte man da machen?
Vielleicht ist das hier was für dich: nl2br
Ersetzt \n (Windows-) und \r (Unix Zeilenumbruch) durch <br> bzw durch <br /> (HTML "umbruch").

Mfg
 
Vielleicht ist das hier was für dich: nl2br
Ersetzt \n (Windows-) und \r (Unix Zeilenumbruch) durch <br> bzw durch <br /> (HTML "umbruch").

Mfg

Danke

Ich habe folgendes dazugefügt:
Code:
function mynl2br($text) {
   return strtr($text, array("\r\n" => '<br />', "\r" => '<br />', "\n" => '<br />'));
}
und aus $row['text'] == bbcode($row['text']); habe ich


$row['text'] == bbcode($row['text']);
mynl2br($row['text']) == bbcode($row['text']);


Dann bei der ausgabe :

'.mynl2br($row['text']).'


Jetzt geht es :D

Danke

Ich habe folgendes dazugefügt:
Code:
function mynl2br($text) {
   return strtr($text, array("\r\n" => '<br />', "\r" => '<br />', "\n" => '<br />'));
}
und aus $row['text'] == bbcode($row['text']); habe ich


$row['text'] == bbcode($row['text']);
mynl2br($row['text']) == bbcode($row['text']);


Dann bei der ausgabe :

'.mynl2br($row['text']).'


Jetzt geht es :D


Von wegem :shock:

Am anfang ging beides, nun nur noch eines davon.

Setze ich bei der Ausgabe

bbcode($row['text'])

Funtionieren die BB-Codes

wenn ich

mynl2br($row['text'])

setzt funktionieren nur die Absätze.


Wie verbinde ich beides? :cry:
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben