BBCode funktioniert nicht mehr :(

Rambo51

Erfahrenes Mitglied
Hallo,

nachdem ich Mein Gästebuch nochmal ganz neu geschrieben habe, um eine Blätterfunktion hinzu zu fügen, funktioniert mein BBCode nicht mehr, also er gibt nichts aus.

Bisher habe ich es so probiert:
PHP:
<?php  
if (!isset($site)) {  
  $site = 0;  
}  
?> 
<?php  

$textbb = $row['text']; 

function bbcodes($textbb)  
  {  
      $neuertext = stripslashes($textbb);  
    $neuertext = preg_replace("/\[img\](.*)\[\/img\]/isU", "<img src=\"$1\" border='0' />", $neuertext);  
    $neuertext = preg_replace("/\[center\](.*)\[\/center\]/isU", "<center>$1</center>", $neuertext);  
      $neuertext = preg_replace("/\[b\](.*)\[\/b\]/isU", "<b>$1</b>", $neuertext);  
      $neuertext = preg_replace("/\[i\](.*)\[\/i\]/isU", "<i>$1</i>", $neuertext);  
      $neuertext = preg_replace("/\[u\](.*)\[\/u\]/isU", "<u>$1</u>", $neuertext);  
      $neuertext = eregi_replace("([ \r\n])www\\.([^ ,\r\n]*)","\\1http://www.\\2",$neuertext);  
      $neuertext = eregi_replace("([ \r\n])http\:\/\/www\\.([^ ,\r\n]*)","\\1http://www.\\2",$neuertext);  
      $neuertext = preg_replace("/\[url\]www.(.*)\[\/url\]/isU", "http://www.$1", $neuertext);  
    $neuertext = preg_replace("/\[url=(.*?)\](.*?)\[\/url\]/", "<a href=\"\\1\" target='_blank'>\\2</a>", $neuertext);  
    $neuertext = preg_replace("/\[url\](.*)\[\/url\]/isU", "<a href='$1' target='_blank'>$1</a>", $neuertext);  
    $neuertext = preg_replace("/\[red\](.*)\[\/red\]/isU", "<font color='red'>$1</font>", $neuertext);  
    $neuertext = preg_replace("/\[blue\](.*)\[\/blue\]/isU", "<font color='blue'>$1</font>", $neuertext);  
    $neuertext = preg_replace("/\[yellow\](.*)\[\/yellow\]/isU", "<font color='yellow'>$1</font>", $neuertext);  
    $neuertext = preg_replace("/\[green\](.*)\[\/green\]/isU", "<font color='green'>$1</font>", $neuertext); 
    $neuertext = preg_replace("/\[size=(.*)\](.*)\[\/size\]/isU", "<font size='$1'>$2</font>", $neuertext);  
    $neuertext = preg_replace("/\[quote\](.*)\[\/quote\]/isU", "<table border='1' cellspacing='0' cellpadding='2' bgcolor='EFEFEF' width='95%' align='center'><tr><td>$1</tr></td></table>", $neuertext);  
    $neuertext = preg_replace("/\[quote=(.*)\](.*)\[\/quote\]/isU", "<table border='1' cellspacing='0' cellpadding='2' bgcolor='EFEFEF' width='95%' align='center'><tr><td><i>Orginal von $1:</i><br><br>$2</tr></td></table>", $neuertext); 
    $neuertext = str_replace(":(", "<img src=\"smilies/angry.gif\" alt=\":-)\" width=\"15\" height=\"15\" />", $neuertext); 
    $neuertext = str_replace(":-)", "<img src=\"smilies/biggrin.gif\" alt=\":-D\" width=\"15\" height=\"15\" />", $neuertext); 
    $neuertext = str_replace(":crazy:", "<img src=\"smilies/confused.gif\" alt=\";-)\" width=\"15\" height=\"15\" />", $neuertext); 
    $neuertext = str_replace("8)", "<img src=\"smilies/cool.gif\" alt=\":-(\" width=\"15\" height=\"15\" />", $neuertext); 
    $neuertext = str_replace(":-(", "<img src=\"smilies/cry.gif\" alt=\":-P\" width=\"15\" height=\"15\" />", $neuertext); 
    $neuertext = str_replace(">)", "<img src=\"smilies/evil.gif\" alt=\"8-)\" width=\"15\" height=\"15\" />", $neuertext); 
    $neuertext = str_replace(":((", "<img src=\"smilies/frown.gif\" alt=\":bll:\" width=\"15\" height=\"15\" />", $neuertext); 
    $neuertext = str_replace(":lol:", "<img src=\"smilies/laugh.gif\" alt=\":blumen:\" width=\"15\" height=\"15\" />", $neuertext); 
    $neuertext = str_replace(":rolleyes:", "<img src=\"smilies/rolleyes.gif\" alt=\":boxer:\" width=\"15\" height=\"15\" />", $neuertext); 
    $neuertext = str_replace(":)", "<img src=\"smilies/smilie.gif\" alt=\":bussi:\" width=\"15\" height=\"15\" />", $neuertext);  
    $neuertext = str_replace(":surprised:", "<img src=\"smilies/surprised.gif\" alt=\":bussi:\" width=\"15\" height=\"15\" />", $neuertext);  
    $neuertext = str_replace(":P", "<img src=\"smilies/tongue.gif\" alt=\":bussi:\" width=\"15\" height=\"15\" />", $neuertext);  
    $neuertext = str_replace(";)", "<img src=\"smilies/wink.gif\" alt=\":bussi:\" width=\"15\" height=\"15\" />", $neuertext);  
    $neuertext = str_replace("\n", "<br>", $neuertext); 
      return $neuertext;  
  } 
?> 
<?php  
require ("gbconfig.php");  
$conn_id = mysql_connect($host,$id,$pw);  
mysql_select_db($database,$conn_id);  
$Zeilen_pro_Seite = 6;  
$result = mysql_query("SELECT * from $table ORDER BY datum DESC LIMIT $site, $Zeilen_pro_Seite");  
$result1=mysql_query("select id from $table");  

$Anzahl = mysql_num_rows($result1);  
while($row = mysql_fetch_assoc($result))  
{  
?> 
<table align="center" bgcolor="666666" width="444" border="0" cellpadding="0" cellspacing="1"> 
  <!--DWLayoutTable--> 
  <tr> 
    <td width="143" height="28" class=contentbg><strong><? echo $row['autor']?></strong></td> 
    <td width="298" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0"> 
        <!--DWLayoutTable--> 
        <tr> 
          <td width="426" height="28" class=contentbg><div align="center"><strong><? echo $row['titel']?></strong></div></td> 
        </tr> 
    </table></td> 
  </tr> 
  <tr> 
    <td class=newsunten rowspan="2" valign="top">written at: 
    <p class=Stil1><? echo $row['datum']?></p></td> 
    <td height="153" valign="top" class=newstext><? $neuertext = bbcodes($textbb); echo $neuertext ?></td> 
  <br> 
  </tr> 
  <tr> 
    <td class=newsunten height="19"> 
    <?php  
        if(!empty($row['hp'])){  
    echo '<a href="http://'.$row['hp'].'" target="_blank"><img src="images/gb_hpage.gif" alt="'.$row['hp'].'" height="19" border=0></a>' ;                
  } else {  
    echo '' ; } 
  if(!empty($row['email'])){  
    echo '<a href="mailto:'.$row['email'].'"><img src="images/gb_email.gif" alt="'.$row['email'].'" height="19" border=0></a>' ;                
  } else {  
    echo''; } 
  if(!empty($row['icq'])){  
    echo '<img src="http://wwp.icq.com/scripts/online.dll?icq='.$row['icq'].'&img=5" alt="ICQ:'.$row['icq'].'" height="19" border=0>' ;                 
  } else {  
    echo'';  }  
?></td> 
  </tr> 
</table> 
<? 
} 
?>  
  <?php  

 if($site > 0) {  
  echo "";  
  $back=$site-$Zeilen_pro_Seite;  
  if($back < 0) {  
    $back = 0;  
  }  
  echo "<a href=\"index.php?page=guestbook&site=$back\"> << </a>&nbsp;&nbsp;";  
 }  
?> 
    <?php  
if($Anzahl>$Zeilen_pro_Seite) {  
  $Seiten=intval($Anzahl/$Zeilen_pro_Seite);  
  if($Anzahl%$Zeilen_pro_Seite) {  
    $Seiten++;  
  }  
}  
?>  
    <?php  
for ($i=1;$i<=$Seiten;$i++) {  
  $fwd=($i-1)*$Zeilen_pro_Seite;  
  echo "<a href=\"index.php?page=guestbook&site=$fwd\">|$i|</a>&nbsp;&nbsp;";  
}  
?>  
    <?php  
if($site < $Anzahl-$Zeilen_pro_Seite) {  
  $fwd=$site+$Zeilen_pro_Seite;  
  echo "<a href=\"index.php?page=guestbook&site=$fwd\"> >> </a>&nbsp;&nbsp;";   
}  
?>


Ich hoffe jemand kann mir Helfen!
Danke

Gruss Rambo51
 
Hallo,
schreib mal statt dem:
PHP:
<? $neuertext = bbcodes($textbb); echo $neuertext ?>

das:
PHP:
<? echo bbcodes($textbb); ?>

mfg
forsterm
 
Zuletzt bearbeitet:
Hm, was soll das bitte bringen?
ist doch egal, ob es ner Variable zugewießen wird , und dann ausgegeben, doer gleich ausgegeben ...
 
Probier mal folgende Funktion:
PHP:
<?php

	function bbcodes($string)
	{
		$output = stripslashes($string);
		$smilies = array(
			':('            => 'angry.gif',
			':-)'           => 'biggrin.gif',
			':crazy:'       => 'confused.gif',
			'8)'            => 'cool.gif',
			':-('           => 'cry.gif',
			'>)'            => 'evil.gif',
			':(('           => 'frown.gif',
			':lol:'         => 'laugh.gif',
			':rolleyes'     => 'rolleyes.gif',
			':)'            => 'smile.gif',
			':surprised:'   => 'surprised.gif',
			':P'            => 'tongue.gif',
			';)'            => 'wink.gif'
		);
		$bbcodes = array(
			'#\[img\](.*)\[/img\]#isU'                      => '<img src="$1" />',
			'#\[center\](.*)\[/center\]#isU'                => '<center>$1</center>',
			'#\[(b|i|u)\](.*)\[/\\1\]#isU'                  => '<$1>$2</$1>',
			'#([ \r\n])(?:http://)?www\.([^ ,\r\n]*)#'      => '$1http://www.$2',
			'#\[url\]www.(.*)\[/url\]#isU'                  => 'http://www.$1',
			'#\[url=(.*?)\](.*?)\[/url\]#'                  => '<a href="$1">$2</a>',
			'#\[url\](.*)\[/url\]#isU'                      => '<a href="$1">$1</a>',
			'#\[(red|blue|yellow|green)\](.*)\[/\\1\]#isU'  => '<span style="color:$1">$2</span>',
			'#\[size=(.*)\](.*)\[/size\]#isU'               => '<font size="$1">$2</font>',
			'#\[quote\](.*)\[/quote\]#isU'                  => '<blockquote>$1</blockquote>',
			'#\[quote=(.*)\](.*)\[/quote\]#isU'             => '<blockquote title="$1"><cite>$1</cite>:<p>$2</p></blockquote>'
		);
		foreach( $bbcodes as $key => $value ) {
			$output = preg_replace($key, $value, $output);
		}
		foreach( $smilies as $key => $value ) {
			$output = str_replace($key, '<img src="smilies/'.$value.'" alt="'.$key.' />', $output);
		}
		return nl2br($output);
	}

?>
 
Hallo,
ich habe es jetzt mal so gemacht wie Gumbo es geschrieben hat, aber es funktioniert nicht!

Bitte helft mir :(

Gruss Rambo51
 
hallo hab mir das nur mal grob angeguckt aber warum setzt du die Variable
$textbb schon bevor du den query gemacht hast auf $row['text']
würde mal vermuten das es dadran liegt mach mal folgendes

ersetze mal diese zeile

PHP:
<td height="153" valign="top" class=newstext><? $neuertext = bbcodes($textbb); echo $neuertext ?></td>


mit dieser

PHP:
<td height="153" valign="top" class=newstext><? $neuertext = bbcodes($row['text']); echo $neuertext ?></td>
 
eternitysoft hat gesagt.:
hallo hab mir das nur mal grob angeguckt aber warum setzt du die Variable
$textbb schon bevor du den query gemacht hast auf $row['text']
würde mal vermuten das es dadran liegt mach mal folgendes

ersetze mal diese zeile

PHP:
<td height="153" valign="top" class=newstext><? $neuertext = bbcodes($textbb); echo $neuertext ?></td>


mit dieser

PHP:
<td height="153" valign="top" class=newstext><? $neuertext = bbcodes($row['text']); echo $neuertext ?></td>

Cool, danke es geht! Ist aber komisch, weil ich habe das auch schon ausprobiert. Aber naja egal! Danke für die Hilfe!

Gruss Rambo51
 

Neue Beiträge

Zurück