Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: BBCode

Sivun loppuun

makeuu [02.11.2003 21:03:59]

#

Miten saisi toimimaan vieraskirjassa bbcode tagit, jos koodi on tällainen

function BBcode ($data) {
        $data = preg_replace("/\[(\/?)(b|u|i|s|strike|blockquote|code|pre)\]/i", "<$1$2>", $data);
        $data = preg_replace("/\[url\](.*)\[\/url\]/i", "<a href=\"$1\" target=\"_blank\">$1</a>", $data);
        $data = preg_replace("/\[url=(.*)\](.*)\[\/url\]/i", "<a href=\"$1\" target=\"_blank\">$2</a>", $data);
        return $data;
    }

Antti Laaksonen [02.11.2003 21:42:47]

#

Tuo funktio arvatenkin muuttaa merkkijonossa olevat BBcode-tagit HTML-tageiksi, joten jos tulostat vieraskirjan viestit jotenkin näin:

echo $viestin_teksti;

niin kirjoitakin:

echo BBcode($viestin_teksti);

odys [02.11.2003 21:55:58]

#

Tunnistin funktion omasta vieraskirjastani ja se toimii juuri noin kuin Antti selitti. :)

makeuu [03.11.2003 10:57:01]

#

Jos sivuni write koodi on

<?php
include('config.php');
$zero = "0";
$name = $_POST['name'];
$mail = $_POST['mail'];
$www = $_POST['www'];
$data = $_POST['data'];
if (!$name) {$zero = "1";}
if (!$data) {$zero = "1";}
if ($zero == "0")
{
$data = wordwrap( $data, $wordwrap, " ", 1 );
	$name = htmlspecialchars($name);
	$name = trim($name);
	$name = str_replace("\n", " ", $name);
	$name = stripslashes($name);
	$mail = htmlspecialchars($mail);
	$mail = trim($mail);
	$mail = str_replace("\n", " ", $mail);
	$mail = stripslashes($mail);
	$www = htmlspecialchars($www);
	$www = trim($www);
	$www = str_replace("\n", " ", $www);
	$www = stripslashes($www);
	$data = htmlspecialchars($data);
	$data = trim($data);
	$data = str_replace("\n", " ", $data);
	$data = stripslashes($data);	$i = 0;
	$rand_key = "1";
	while ($i<11)
	{
		$rand = rand(0, 9);
		$rand_key = $rand_key . $rand;
		$i++;
	}
	$ip = $_SERVER['REMOTE_ADDR'];
	$time = date('d.m.Y H:i');
	$con = $rand_key . $sprtr . $time . $sprtr . $ip . $sprtr . $name . $sprtr . $mail . $sprtr . $www . $sprtr . $data;
	$fp = fopen($db, "a");
	fputs ($fp, "$con\n");
	fclose ($fp);
	header("Location: index.php");
	exit;
}
else
{
	exit("Et täyttänyt kaikkia tarvittavia kohtia, nimi ja viesti ovat pakollisia!");
}
$data = preg_replace("/\[(\/?)(b|u|i|s|strike|blockquote|code|pre)\]/i", "<$1$2>", $data);
        $data = preg_replace("/\[url\](.*)\[\/url\]/i", "<a href=\"$1\" target=\"_blank\">$1</a>", $data);
        $data = preg_replace("/\[url=(.*)\](.*)\[\/url\]/i", "<a href=\"$1\" target=\"_blank\">$2</a>", $data);
        return $data;
?>

niin mihin sijoitan nuo bbcode tagit?

makeuu [03.11.2003 11:55:36]

#

Siis write.php:

Antti Laaksonen [03.11.2003 17:24:28]

#

Lisää ennemmin tagien muunnos vasta siihen vaiheeseen, kun vieraskirjan viestit näytetään käyttäjälle.

makeuu [03.11.2003 17:27:42]

#

eli read.phphen joka nayttaa tältä

<?php
include('config.php');

$fields = file("$db");
$fields = array_reverse($fields);
$maxlines = count($fields);
$pages = ceil($maxlines / $maxperpage);
print "<div>\n";
print "<table width=\"480\" border=\"0\" cellspacing=\"1\" bgcolor=\"#BBBBBB\">\n";
print "<tr><td bgcolor=\"#33CCFF\" valign=\"middle\">\n";
for ($i=1; $i <= $pages; $i++)
{
print ("<FONT class='leipa'><a href=\"index.php?q=viekku&page=" . $i . "\">" . $i . "</a> \n");
}
print "<FONT class='leipa'><a href=\"index.php?q=viekku&page=0.2\">Kaikki </a>\n";
print "</td></tr>\n";
print "</table><br>\n";

$page = $_GET['page'];

if ($page == 0.2)
{
$i = 0; $max = $maxlines;
}
else
{
 if ($page == 1)
 {
 $i = 0; $max = $maxperpage - 1;
 }
 else
 {
 $i = $page * $maxperpage - $maxperpage; $max = $page * $maxperpage - 1;
 }
}
if (empty($page))
{
$i = 0; $max = $maxperpage - 1;
}

while ($i <= $max)
{
  if (empty($fields[$i]))
  {
  print " ";
  $i++;
  }
  else
  {
    list($rand_key, $time, $ip, $name, $mail, $www, $data) = explode("$sprtr", $fields[$i]);
    $i++;
    print "<table width=\"480\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\" bgcolor=\"#BBBBBB\">\n";
    print "<tr><td bgcolor=\"#33CCFF\"><FONT class='leipa'>\n";
    print "$time\n";
    print " - $name\n";

    if (!empty($mail))
    {
    print " - ( <a href=\"mailto:$mail\">email</a> |\n";
    } else {
    print " - ( email |\n";
    }

    if (!empty($www))
    {
    print " <a href=\"http://$www\">www</a> )\n";
    } else {
    print " www )\n";
    }

    print "</td></tr><tr><td bgcolor=\"#ACDCFE\"><FONT class='leipa'>\n";
    print $data;
    print "</td></tr>\n";
    print "</table><br>\n";
  }
}
print "<table width=\"480\" border=\"0\" cellspacing=\"1\" bgcolor=\"#BBBBBB\">\n";
print "<tr><td valign=\"middle\"bgcolor=\"#33CCFF\">\n";
for ($i=1; $i <= $pages; $i++)
{
print ("<FONT class='leipa'><a href=\"index.php?q=viekku&page=" . $i . "\">" . $i . "</a> \n");
}
print "<FONT class='leipa'><a href=\"index.php?q=viekku&page=0.2\">Kaikki </a>\n";
print "</td></tr>\n";
print "</table>\n";

print "</div>\n";
?>

makeuu [03.11.2003 17:28:27]

#

mihin kohtaan se pitäisi sitten laittaa?


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta