News extern + HTML anzeigen lassen - Waluigi - 05.02.2009
Hallo liebe Community,
Ich muss vorab erstmal sagen, dass der Support hier echt gut läuft, weiter so
Ich benutze seit gestern das Plugin "Site News Plugin 1.0.3" von MyBBCoder und wollte fragen, ob das normal ist, dass HTML bzw. BBCode nicht angezeigt wird?
Im Thread habe ich HTML an und es wird im Forum im Thread richtig angezeigt.
Dennoch steht auf der Page dann sowas wie:
[ url=http://google.de]GOOGLE[/url ]
Ich möchte demnächst auch Videos in den News einfügen (zB. Youtube) und brauche dafür ja HTML.
Dies kann man bei einem Beitrag ja einstellen.
Wieso wird das denn blöderweise nicht auf der Page angezeigt? =/
Das Plugin wäre sonst genial
MfG,
Waluigi
RE: News extern + HTML anzeigen lassen - Blackout - 21.10.2009
Hallo Waluigi und die Community^^
@Waluigi, wie hast du das Problem jetzt gelöst?
Ich habe das selbe Problem. Ich habe zwar im Forum eine bb.php gefunden, und den zugehörigen Code zumn auslesen der Threads und umwandelb der bb codes. Jedoch wollte ich die Ausgabe etwas anderst.
Mein Ziel: Ich möchte im Forum News verfassen und diese auf der externen Seite anzeigen lassen. Dies Funktioniert ganz gut jedoch ohne bb codes
Hier ist das Script das ich zurzeit verwende (mit wunschausgabe):
PHP-Code: <?php // Daten für Verbindung zur Datenbank $dbhost = "localhost"; $dbuser = ".."; $dbpassword = ".."; $dbdatabase = "..";
// Präfix $prefix = "mybb_";
// URL zum Forum $url = "http://www.anotherone.bplaced.net/Login/mybb";
// Anzahl der Themen $limit = "5";
// Verbindung zur Datenbank aufnehmen $db = mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen"); mysql_select_db($dbdatabase,$db);
// Letzte Themen auslesen $query = mysql_query("SELECT subject,tid,dateline FROM ".$prefix."threads WHERE visible='1' AND fid = '17' ORDER BY tid DESC LIMIT 0,".$limit."");
while ($newest_threads = mysql_fetch_array($query)) { // Beitrag auslesen $query2 = mysql_query("SELECT message FROM ".$prefix."posts WHERE visible = '1' AND tid = '".$newest_threads['tid']."' ORDER BY pid ASC LIMIT 0,1"); $postmessage = mysql_fetch_array($query2); echo "<p id='news'><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".$newest_threads['subject']."</a><br />Gepostet am: ".date("d.m.Y, H:i", $newest_threads['dateline'])." Uhr<br />".$postmessage['message']."</p>"; } ?>
Und dieses script mit dem BBCOde:
PHP-Code: <?php
error_reporting(E_ALL);
// Daten für Verbindung zur Datenbank $dbhost = "localhost"; $dbuser = ".."; $dbpassword = ".."; $dbdatabase = "..";
// Präfix $prefix = "mybb_";
// URL zum Forum $url = "http://www.anotherone.bplaced.net/Login/mybb";
// Verbindung zur Datenbank aufnehmen $db = mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen"); mysql_select_db($dbdatabase,$db);
//Abfrage der Datenbank $abfrage = "SELECT message FROM {$prefix}posts WHERE tid=18"; $ergebnis = mysql_query($abfrage);
//Ausgabe des Feldes while($row = mysql_fetch_object($ergebnis)) { $posts[] = $row; }
if(is_array($posts)) { foreach($posts as $message) { require_once 'bb.php'; echo(bb_decode($message->message)."<br />"); } } ?>
die zugehörige bb.php datei habe ich Funktionier auch alles.
Ich habe erst angefangen mit Homepageprogrammierung und somit sind meine Kenntnisse noch sehr begrenzt.
Falls ihr die Seite anschaun wollt kann ich auch eine Gästeaccount in die htaccess datei einarbeiten. Die htaccess ist nur aktiviert, da die Seite ja noch nicht "perfekt" funktioniert.
Falls ihr noch was wissen wollt fragt einfach, da ich nicht so der Poster bin sondern eher der Leser
RE: News extern + HTML anzeigen lassen - Blackout - 22.10.2009
Hat sich erledigt
wens interessiert, der Code sieht nun so aus..(ausgabe mit überschrift, gepostet am + BBcodes)
PHP-Code: <?php // Daten für Verbindung zur Datenbank $dbhost = "localhost"; $dbuser = ".."; $dbpassword = ".."; $dbdatabase = "..";
// Präfix $prefix = "mybb_";
// URL zum Forum $url = "http://www.anotherone.bplaced.net/Login/mybb";
// Anzahl der Themen $limit = "5";
// Verbindung zur Datenbank aufnehmen $db = mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen"); mysql_select_db($dbdatabase,$db);
// Letzte Themen auslesen $query = mysql_query("SELECT subject,tid,dateline FROM ".$prefix."threads WHERE visible='1' AND fid = '17' ORDER BY tid DESC LIMIT 0,".$limit."");
while ($newest_threads = mysql_fetch_array($query)) { // Beitrag auslesen $query2 = mysql_query("SELECT message FROM ".$prefix."posts WHERE visible = '1' AND tid = '".$newest_threads['tid']."' ORDER BY pid ASC LIMIT 0,1"); $postmessage = mysql_fetch_array($query2);
error_reporting(E_ALL | E_NOTICE);
function parseBBCode2HTML( $bb ) { $bb = preg_replace('/\[b\](.*?)\[\/b\]/', '<b>$1</b>', $bb); $bb = preg_replace('/\[i\](.*?)\[\/i\]/', '<i>$1</i>', $bb); $bb = preg_replace('/\[color=([[:alnum:]]{6}?).*\](.*?)\[\/color\]/', '<font color="#$1">$2</font>', $bb); $bb = preg_replace('/\[url=([^ ]+).*\](.*)\[\/url\]/', '<a href="$1">$2</a>', $bb);
$bb = preg_replace('/\n/', "<br/>\n", $bb);
return $bb;
} $text = "<p id='news'><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".$newest_threads['subject']."</a><br />Gepostet am: ".date("d.m.Y, H:i", $newest_threads['dateline'])." Uhr<br />".$postmessage['message']."</p>";
$formatiert = parseBBCode2HTML( $text );
echo $formatiert; } ?>
RE: News extern + HTML anzeigen lassen - Blackout - 27.10.2009
ICh habn Problem
Sobald ich mehr als einen Eintrag geschriebn habe (thema das angezeigt werden soll) kommt folgender fehler:
Fatal error: Cannot redeclare parseBBCode2HTML() (previously declared in /users/anotherone/www/Login/start.php:33) in /users/anotherone/www/Login/start.php on line 33
(line 33 is function parseBBCode2HTML ( $bb)
Script immernoch des obere
RE: News extern + HTML anzeigen lassen - StefanT - 27.10.2009
Hast du die Datei mehrmals geladen?
RE: News extern + HTML anzeigen lassen - Blackout - 27.10.2009
nein einmal, nur zwei Beträge. Den ersten zeigts auch an nur beim zweiten (also älteren) kommt der Fehler.
Hab den Code noch ein bisschen Umgeschrieben, aber ich habe es auch mit dem alten versucht, da komtm der selbe Fehler:
PHP-Code: <?php // Daten für Verbindung zur Datenbank $dbhost = "localhost"; $dbuser = ".."; $dbpassword = ".."; $dbdatabase = "..";
// Präfix $prefix = "mybb_";
// URL zum Forum $url = "http://www.anotherone.bplaced.net/Login/mybb";
// Anzahl der Themen $limit = "5";
// Verbindung zur Datenbank aufnehmen $db = mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen"); mysql_select_db($dbdatabase,$db);
// Letzte Themen auslesen $query = mysql_query("SELECT subject,tid,dateline FROM ".$prefix."threads WHERE visible='1' AND fid = '3' ORDER BY tid DESC LIMIT 0,".$limit."");
while ($newest_threads = mysql_fetch_array($query)) { // Beitrag auslesen $query2 = mysql_query("SELECT message FROM ".$prefix."posts WHERE visible = '1' AND tid = '".$newest_threads['tid']."' ORDER BY pid ASC LIMIT 0,1"); $postmessage = mysql_fetch_array($query2);
error_reporting(E_ALL | E_NOTICE);
function parseBBCode2HTML( $bb ) { $bb = preg_replace('/\[b\](.*?)\[\/b\]/', '<b>$1</b>', $bb); $bb = preg_replace('/\[i\](.*?)\[\/i\]/', '<i>$1</i>', $bb); $bb = preg_replace('/\[color=([[:alnum:]]{6}?).*\](.*?)\[\/color\]/', '<font color="#$1">$2</font>', $bb); $bb = preg_replace('/\[url=([^ ]+).*\](.*)\[\/url\]/', '<a href="$1">$2</a>', $bb);
$bb = preg_replace('/\n/', "<br/>\n", $bb);
return $bb;
} /* ACHTUNG! Die Foren-Software stellt bei color vor den Farbwert automatisch ein Raute-Zeichen, das war von mir nicht beabsichtigt. Bitte löscht beim Ausprobieren die Raute vor der Farbangabe raus. */ $text = "</a><br /><em>News vom: ".date("d.m.Y, H:i", $newest_threads['dateline'])." Uhr</em><br /><h3>".$newest_threads['subject']."</h3><br />".$postmessage['message']."</p><hr>";
$formatiert = parseBBCode2HTML( $text );
echo $formatiert; } ?>
Das mit dem BBcode decodieren (<---^^) hab ich ja selbst eingebaut. Wahrscheinlich hab ich da irgendeinen Fehler gemacht.
RE: News extern + HTML anzeigen lassen - StefanT - 27.10.2009
Du kannst die Datei nur einmal verwenden: http://www.php-fehlermeldungen.de/topic58.html
RE: News extern + HTML anzeigen lassen - Blackout - 27.10.2009
ah okay..gibts ne Möglichkeit, mehrer Eintäge so ausgeben zu lassen oder nicht?
RE: News extern + HTML anzeigen lassen - linwinman - 27.10.2009
Hallo Blackout,
verwende hierfür einmal diesen Code:
PHP-Code: <?php // Daten für Verbindung zur Datenbank $dbhost = "localhost"; $dbuser = ".."; $dbpassword = ".."; $dbdatabase = "..";
// Präfix $prefix = "mybb_";
// URL zum Forum $url = "http://www.anotherone.bplaced.net/Login/mybb";
// Anzahl der Themen $limit = "5";
error_reporting(E_ALL | E_NOTICE);
function parseBBCode2HTML( $bb ) { $bb = preg_replace('/\[b\](.*?)\[\/b\]/', '<b>$1</b>', $bb); $bb = preg_replace('/\[i\](.*?)\[\/i\]/', '<i>$1</i>', $bb); $bb = preg_replace('/\[color=([[:alnum:]]{6}?).*\](.*?)\[\/color\]/', '<font color="#$1">$2</font>', $bb); $bb = preg_replace('/\[url=([^ ]+).*\](.*)\[\/url\]/', '<a href="$1">$2</a>', $bb);
$bb = preg_replace('/\n/', "<br/>\n", $bb);
return $bb; }
// Verbindung zur Datenbank aufnehmen $db = mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen"); mysql_select_db($dbdatabase,$db);
// Letzte Themen auslesen $query = mysql_query("SELECT subject,tid,dateline FROM ".$prefix."threads WHERE visible='1' AND fid = '3' ORDER BY tid DESC LIMIT 0,".$limit."");
while ($newest_threads = mysql_fetch_array($query)) { // Beitrag auslesen $query2 = mysql_query("SELECT message FROM ".$prefix."posts WHERE visible = '1' AND tid = '".$newest_threads['tid']."' ORDER BY pid ASC LIMIT 0,1"); $postmessage = mysql_fetch_array($query2); /* ACHTUNG! Die Foren-Software stellt bei color vor den Farbwert automatisch ein Raute-Zeichen, das war von mir nicht beabsichtigt. Bitte löscht beim Ausprobieren die Raute vor der Farbangabe raus. */ $text = "</a><br /><em>News vom: ".date("d.m.Y, H:i", $newest_threads['dateline'])." Uhr</em><br /><h3>".$newest_threads['subject']."</h3><br />".parseBBCode2HTML($postmessage['message'])."</p><hr>";
echo $text; } ?>
RE: News extern + HTML anzeigen lassen - Blackout - 27.10.2009
Oo genial!
Ihr seit echt Freaks! (Im positiven Sinne )
Dankeschön
ich bekomms ned hin, dass auch die Umlaute umgewandelt werden
|