nordi
Erfahrenes Mitglied
Hallo, ich habe eine Frage zu eine IF-Abfrage. Folgende Problemstellung: Ich lese Daten aus einer Datenbanktabelle ('komplett'). Zudem wird in der gleichen Tabelle der Posten 'artikel' abgefragt. Der Posten 'artikel' enthält immer Text aber 'komplett' ist nur optional. Ich frage die beide Posten so ab:
Das klappt auch soweit. Hier jetzt das "trickreiche". Manchmal kommt im Text von 'artikel' die Zeichenfolge >>> vor. Der Text der nach dieser Zeichenfolge kommt, soll wie 'komplett' dargestellt werden. Also >>> soll durch "mehr..." ersetzt werden und durch einen Klick eingeblendet werden. Wie ihr bei der Funktion parseBBCode2HTML seht, will ich >>> ersetzen lassen, weiß dann aber nicht weiter, wie ich den Text danach in unteren Container "toggle_container" setzen lassen kann. Bin wie immer für Tipps und Antworten denkbar!
PHP:
@mysql_connect($dbhost,$dbuser,$dbpass);
@mysql_select_db($dbtable);
$sql = "SELECT * FROM $news ORDER BY id DESC LIMIT 5";
$result = @mysql_query($sql);
function parseBBCode2HTML( $bb )
{
$bb = preg_replace('/\[b\](.*?)\[\/b\]/', '<strong>$1</strong>', $bb);
$bb = preg_replace("/\'''(.*?)\'''/", '<strong>$1</strong>', $bb);
// $bb = preg_replace('/>>>/', ' [mehr..]', $bb); //<- ?!
$bb = preg_replace('/\[u\](.*?)\[\/u\]/', '<u>$1</u>', $bb);
$bb = preg_replace('/\[i\](.*?)\[\/i\]/', '<i>$1</i>', $bb);
$bb = preg_replace('/\[url=([^ ]+).*\](.*)\[\/url\]/', '<a href="$1" target="_blank">$2</a>', $bb);
$bb = preg_replace('/\n/', "<br/>\n", $bb);
return $bb;
}
while ($row = mysql_fetch_object($result))
{
// CODE FORMATIERUNGEN - BB CODE UND UFT-8 FORMATIERUNG
$titel=utf8_encode($row->titel);
$date=strtotime($row->datim);
$final_date=date("j. F Y, g:i", $date);
//BB CODE PARSER
$bbcode = parseBBCode2HTML( $row->artikel );
$artikel=utf8_encode($bbcode);
echo "<p class=\"header\">$titel</p>";
echo "<span class=\"datum\">Verfasst am: $final_date Uhr</span>";
echo "<p>$artikel</p>";
if (!empty($row->komplett))
{
echo "<span class=\"trigger\"><a href=\"#\">mehr..</a></span>";
echo "<div class=\"toggle_container\">";
echo "<div class=\"block\">";
echo "<p>$text</p>";
echo "</div>";
echo "</div>";
}
Das klappt auch soweit. Hier jetzt das "trickreiche". Manchmal kommt im Text von 'artikel' die Zeichenfolge >>> vor. Der Text der nach dieser Zeichenfolge kommt, soll wie 'komplett' dargestellt werden. Also >>> soll durch "mehr..." ersetzt werden und durch einen Klick eingeblendet werden. Wie ihr bei der Funktion parseBBCode2HTML seht, will ich >>> ersetzen lassen, weiß dann aber nicht weiter, wie ich den Text danach in unteren Container "toggle_container" setzen lassen kann. Bin wie immer für Tipps und Antworten denkbar!