UBB code
Ik ben bezig met een site, waar anderen UBB-codes kunnen gebruiken.
Als ze dan hun tekst wijzigen, krijg je de HTML code te zien, en niet de UBB code.
Weet iemand hoe ik de UBB-code kan laten zien, ipv de HTML code?
Als je de HTML-Code laat staan, word deze weergeven, en niet omgezet in de code, zoals ik het wil.
Heb al meerdere dingen geprobeerd, maar ik blijf op dit punt hangen. De rest werkt wel goed.
Edit: Zo voeg ik het toe/laat het zien bij het bewerken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?
if( $_POST['shitzooi']){
mysql_query("UPDATE bedrijf2_voorpagina SET `tekst`='". mysql_real_escape_string($_POST['tekst']) ."' WHERE `id`='1'") or die(mysql_error());
echo"goed toegevoegt";
}else{
$tekst2 = mysql_query("SELECT * FROM bedrijf2_voorpagina WHERE id=1") or die(mysql_error());
$tekst = mysql_fetch_assoc($tekst2);
?>
if( $_POST['shitzooi']){
mysql_query("UPDATE bedrijf2_voorpagina SET `tekst`='". mysql_real_escape_string($_POST['tekst']) ."' WHERE `id`='1'") or die(mysql_error());
echo"goed toegevoegt";
}else{
$tekst2 = mysql_query("SELECT * FROM bedrijf2_voorpagina WHERE id=1") or die(mysql_error());
$tekst = mysql_fetch_assoc($tekst2);
?>
Gewijzigd op 01/01/1970 01:00:00 door Durk Houtsma
Waarschijnlijk haal je de ubb er al overheen voordat je het in de database zet.
Code (php)
1
2
3
2
3
mysql_query("UPDATE bedrijf2_voorpagina SET `tekst`='". mysql_real_escape_string($_POST['tekst']) ."' WHERE `id`='1'") or die(mysql_error());
echo"goed toegevoegt";
echo"goed toegevoegt";
Zo.. ik zou eerst maar eens flink je code gaan verbeteren. Jij neemt hier namelijk zomaar aan dat je query altijd lukt en dat hoeft helemaal niet het geval te zijn. Foutafhandeling zou dus niet onhandig wezen.
Het is voor lerende doeleinden, waarvan ik leer.
Gelijk is de website ook voor lerende doeleinden, het Jonge Mavo Ondernemers project.
Toch bedankt voor de tip, voor de foutafhandeling. Dit was ik ook al van plan.
Waarschijnlijk gaat het bij mij nog niet 'logisch', maar het komt er vanzelf.
@SanThe: Had inderdaad de ubb er over gehaald, bij het posten, d.m.v. een include.
Heb deze include verwijderd, en het werkt weer.
Bedankt voor de hulp!
Als ik deze terug plaats, krijg ik de UBB codes niet te zien. Heb hem bij de strip_tags al toegestaan..
strip_tags($gegeven1['tekst'], '[*b]'
(Denk de * niet, anders word alles hier dikgedrukt.)
Als ik die strip_tags weghaal in de beheertool, krijg ik de <BR> ook weer te zien.
Niet Bumpen::
Gewijzigd op 01/01/1970 01:00:00 door durk Houtsma
Die ubb haal je er alleen overheen als je de tekst op het scherm gaat zetten.
Ik had dus ook die include verwijderd uit de beheertool, maar dan werkte de ubb niet meer. Je krijgt dan, waar je het moet zien, de UBB code te zien, ipv van wat jij wil.
Toen ik deze include terug zette, in de beheertool, werkte de UBB wel weer..
*Bump*
Wat is de 'beheertool'?
Een stukje relevante code, voor het invoegen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<td><h1>Introductiepagina</h1>
<?
if( $_POST['shitzooi']){
mysql_query("UPDATE bedrijf2_voorpagina SET `tekst`='". mysql_real_escape_string($_POST['tekst']) ."' WHERE `id`='1'") or die(mysql_error());
echo"goed toegevoegt";
}else{
$tekst2 = mysql_query("SELECT * FROM bedrijf2_voorpagina WHERE id=1") or die(mysql_error());
$tekst = mysql_fetch_assoc($tekst2);
?>
<form action="admin-voorpagina.php" method="post">
Voer de tekst in: <textarea name="tekst" rows="10" cols="20"><? echo strip_tags($tekst['tekst'], '') ?></textarea><BR>
<input type="submit" name="shitzooi" />
</form>
<tr><td colspan=2><B><font color=black>Dikgedrukt</b>: [b]jetekst[/b].</font> </td><tr>
<tr><td colspan=2><font color=black><i>Cursief</i>: [i]jetekst[/i]. </font></td><tr>
<tr><td colspan=2><font color=black><u>Onderlijnd</u>: [u]jetekst[/u]. </font></td><tr>
<tr><td colspan=2><font color=black>URLs: [url=jelink]naamvanlink[/url]. </font></td><tr>
<tr><td colspan=2><font color=black>Lettergrootte: [size=grootte]tekst[/size]. </font></td><tr>
<BR>
<tr><td colspan=2><font color=black>Links uitlijnen: [left]jetekst[/left]. </font></td><tr>
<tr><td colspan=2><font color=black>Rechts uitlijnen: [right]jetekst[/right]. </font></td><tr>
<tr><td colspan=2><font color=black>Centreren: [center]jetekst[/center]. </font></td><tr>
<tr><td colspan=2><font color=black>Doorstreept: [s]jetekst[/s]. </font></td><tr>
<?
}
?>
<?
if( $_POST['shitzooi']){
mysql_query("UPDATE bedrijf2_voorpagina SET `tekst`='". mysql_real_escape_string($_POST['tekst']) ."' WHERE `id`='1'") or die(mysql_error());
echo"goed toegevoegt";
}else{
$tekst2 = mysql_query("SELECT * FROM bedrijf2_voorpagina WHERE id=1") or die(mysql_error());
$tekst = mysql_fetch_assoc($tekst2);
?>
<form action="admin-voorpagina.php" method="post">
Voer de tekst in: <textarea name="tekst" rows="10" cols="20"><? echo strip_tags($tekst['tekst'], '') ?></textarea><BR>
<input type="submit" name="shitzooi" />
</form>
<tr><td colspan=2><B><font color=black>Dikgedrukt</b>: [b]jetekst[/b].</font> </td><tr>
<tr><td colspan=2><font color=black><i>Cursief</i>: [i]jetekst[/i]. </font></td><tr>
<tr><td colspan=2><font color=black><u>Onderlijnd</u>: [u]jetekst[/u]. </font></td><tr>
<tr><td colspan=2><font color=black>URLs: [url=jelink]naamvanlink[/url]. </font></td><tr>
<tr><td colspan=2><font color=black>Lettergrootte: [size=grootte]tekst[/size]. </font></td><tr>
<BR>
<tr><td colspan=2><font color=black>Links uitlijnen: [left]jetekst[/left]. </font></td><tr>
<tr><td colspan=2><font color=black>Rechts uitlijnen: [right]jetekst[/right]. </font></td><tr>
<tr><td colspan=2><font color=black>Centreren: [center]jetekst[/center]. </font></td><tr>
<tr><td colspan=2><font color=black>Doorstreept: [s]jetekst[/s]. </font></td><tr>
<?
}
?>
moet zijn:
, maar die UBB codes laat hij nog steeds niet zien.
Als ik de rij via PHPMyAdmin op ga zoeken, staan daar de UBB codes wel in.
Ik heb ook al
geprobeerd, maar zonder resultaten.
Gewijzigd op 01/01/1970 01:00:00 door durk Houtsma
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function UUB($string) {
$string = htmlentities($string);
$string = str_replace('\r\n', '<br>', $string); // hiermee vervang je enters
$string = str_replace('\r', '<br>', $string);
$string = str_replace('\n', '<br>', $string);
$string = str_replace('<br />', '<br>', $string);
$string = str_replace('[B]', '<b>', $string); // hiermee vervang je bold
$string = str_replace('[U]', '<u>', $string); // hiermee vervang je underline
$string = str_replace('[center]', '<center>', $string); // replaced center
return $string;
}
?>
function UUB($string) {
$string = htmlentities($string);
$string = str_replace('\r\n', '<br>', $string); // hiermee vervang je enters
$string = str_replace('\r', '<br>', $string);
$string = str_replace('\n', '<br>', $string);
$string = str_replace('<br />', '<br>', $string);
$string = str_replace('[B]', '<b>', $string); // hiermee vervang je bold
$string = str_replace('[U]', '<u>', $string); // hiermee vervang je underline
$string = str_replace('[center]', '<center>', $string); // replaced center
return $string;
}
?>
je gebruikt het gewoon met:
$output = UUB($input);
Hierbij zet je het alleen om wanneer je de info wil outputten. Het origineel blijft onaangetast. Dus bij het aanpassen is dat makkelijk.
Weet niet of dit wel de goede manier is, maar gebruik het zelf ook.
Hoe je dat gaat doen met [link=...] bijv moet je zelf maar even uit puzzelen.
Maar het is wel mogelijk.
Gewijzigd op 01/01/1970 01:00:00 door Steven Hack
De [*b] en [*/b] enz. zie ik nu wel, maar ik zie op de pagina waar de tekst opgemaakt moet worden, geen dik gedrukte tekst. Hier staat nu gewoon [*b] enz. Ook niet als ik daar de functie toepas.
Stukje beheertool:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<td><h1>Introductiepagina</h1>
<?
function UUB($string) {
$string = htmlentities($string);
$string = str_replace('\r\n', '<br>', $string); // hiermee vervang je enters
$string = str_replace('\r', '<br>', $string);
$string = str_replace('\n', '<br>', $string);
$string = str_replace('<br />', '<br>', $string);
$string = str_replace('[b]', '<b>', $string); // hiermee vervang je bold
$string = str_replace('[U]', '<u>', $string); // hiermee vervang je underline
$string = str_replace('[center]', '<center>', $string); // replaced center
return $string;
}
if($_SERVER['REQUEST_METHOD'] == 'POST') {
mysql_query("UPDATE bedrijf2_voorpagina SET `tekst`='". mysql_real_escape_string($_POST['tekst']) ."' WHERE `id`='1'") or die(mysql_error());
echo"goed toegevoegt";
}else{
$tekst2 = mysql_query("SELECT * FROM bedrijf2_voorpagina WHERE id=1") or die(mysql_error());
$tekst = mysql_fetch_assoc($tekst2);
?>
<form action="admin-voorpagina.php" method="post">
Voer de tekst in: <textarea name="tekst" rows="10" cols="20"><? echo UUB(strip_tags($tekst['tekst'], '[b]')) ?></textarea><BR>
<input type="submit" name="shitzooi" />
<?
function UUB($string) {
$string = htmlentities($string);
$string = str_replace('\r\n', '<br>', $string); // hiermee vervang je enters
$string = str_replace('\r', '<br>', $string);
$string = str_replace('\n', '<br>', $string);
$string = str_replace('<br />', '<br>', $string);
$string = str_replace('[b]', '<b>', $string); // hiermee vervang je bold
$string = str_replace('[U]', '<u>', $string); // hiermee vervang je underline
$string = str_replace('[center]', '<center>', $string); // replaced center
return $string;
}
if($_SERVER['REQUEST_METHOD'] == 'POST') {
mysql_query("UPDATE bedrijf2_voorpagina SET `tekst`='". mysql_real_escape_string($_POST['tekst']) ."' WHERE `id`='1'") or die(mysql_error());
echo"goed toegevoegt";
}else{
$tekst2 = mysql_query("SELECT * FROM bedrijf2_voorpagina WHERE id=1") or die(mysql_error());
$tekst = mysql_fetch_assoc($tekst2);
?>
<form action="admin-voorpagina.php" method="post">
Voer de tekst in: <textarea name="tekst" rows="10" cols="20"><? echo UUB(strip_tags($tekst['tekst'], '[b]')) ?></textarea><BR>
<input type="submit" name="shitzooi" />
Stukje pagina waar je het ziet:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<td><h1>Introductiepagina</h1>
<?
$sql = "
SELECT *
FROM bedrijf2_voorpagina
";
if (!$res = mysql_query ($sql)) {
echo '<pre>';
echo htmlentities ($sql);
trigger_error (mysql_error ());
echo '</pre>';
}
else {
while ($row = mysql_fetch_assoc ($res)) {
echo '<p>' . nl2br($row['tekst']) . '</p>';
echo"</div><Hr>";
}
}
?>
<?
$sql = "
SELECT *
FROM bedrijf2_voorpagina
";
if (!$res = mysql_query ($sql)) {
echo '<pre>';
echo htmlentities ($sql);
trigger_error (mysql_error ());
echo '</pre>';
}
else {
while ($row = mysql_fetch_assoc ($res)) {
echo '<p>' . nl2br($row['tekst']) . '</p>';
echo"</div><Hr>";
}
}
?>