E Emil W Medlem sedan mars 2009 512 inlägg Frågan 21 maj 2009 16:34 #1 vad ska jag använda för funktion för jag vill göra så att man kan få fet text när man skriver in
[B][/B]
i formuläret
Använd gärna sökfunktionen innan du skriver ett nytt inlägg. En sökning hittade bl.a. det här inlägget:
http://www.webforum.nu/showthread.php?t=91788&highlight=forumkod
E Emil W Medlem sedan mars 2009 512 inlägg Jag förstår inte den koden varför står det $1 i den koden
Min textruta heter meddelande
Den där koden ska "köra" när inläggen visas på din hemsida. Du sparar texten från formuläret som vanligt i din databas. Sen när du visar inläggen på din hemsida:
function bbcode($text = ""){
$text = preg_replace("/\[citat=([^\]]+)]/is", "<div><b>$1 skrev:</b>\n$2", $text);
$text = preg_replace("/\[\/citat]/is", "\n</div>\n", $text);
$text = preg_replace( "'\[B\](.*?)\[/B\]'is","<b>$1</b>",$text);
$text = preg_replace( "'\[I\](.*?)\[/I\]'is","<i>$1</i>",$text);
$text = preg_replace( "'\[U\](.*?)\[/U\]'is","<u>$1</u>",$text);
return $text;
}
Sen när du skriver ut inlägget på sidan:
echo bbcode($res['falt_i_databasen']);
Emil W skrev:
vad är $res för något
Ditt recordset.. Testa det här:
$minbb = "text som är [b]fet[/b], [i]kursiv[/i] och [u]understruken[/u].";
echo bbcode($minbb);
E Emil W Medlem sedan mars 2009 512 inlägg Måste det vara så mycket tecken i mellan preg_replace()
E Emil W Medlem sedan mars 2009 512 inlägg om jag har en textarea som heter text
vart sätter jag in det i koden
för jag har en kolumn i databasen som heter text
vad måste man ändra i koden ?
E Emil W Medlem sedan mars 2009 512 inlägg När jag använder koden så får jag dessa fel meddelanden
Notice: Undefined variable: text in C:\wamp\www\beta\visatrad.php on line 53
Notice: Undefined variable: text in C:\wamp\www\beta\visatrad.php on line 54
Notice: Undefined variable: text in C:\wamp\www\beta\visatrad.php on line 55
Notice: Undefined variable: text in C:\wamp\www\beta\visatrad.php on line 56
här mitt försök
function bbcode ($textt =""){
$textt = preg_replace("'\[B\](.*?)\[/B\]'is","<b>$text</b>",$textt);
$textt = preg_replace("'\[U\](.*?)\[/U\]'is","<u>$text</u>",$textt);
$textt = preg_replace("'\[B\](.*?)\[/B\]'is","<b>$text</b>",$textt);
$textt = preg_replace("'\[B\](.*?)\[/B\]'is","<b>$text</b>",$textt);
return $textt;
}
så här gör jag när jag skriver ut
while($row = mysql_fetch_array($resultt))
{
echo "<div class=\"svarbox\">";
echo "Postat av ".$row['namn']." ".$row['datum'];
echo "<hr color=\"#000000\">";
echo "<a href=\"uppladdat/{$row['file']}\">Länk till bifogad fil</a><br><br>";
echo bbcode($row['text']);
echo "</div>";
}
M metalboy Medlem sedan jan. 2005 953 inlägg $1 är en referens till innehållet i den första parentesen i det reguljära uttrycket. Du ska alltså inte byta ut $1 mot $text.
Du kan läsa mer i manualen om hur reguljära uttryck fungerar i PHP.
http://www.php.net/pcre/
E Emil W Medlem sedan mars 2009 512 inlägg hur ska jag göra nu så att inte html-kod funkar
ska man göra så här
echo htmlspecialchars,bbcode($row['text']);
nu kör htmlspecialchars före din bbcode, annars s skriver htmlspecialchars över din bbcode funkion.
echo bbcode(htmlspecialchars($row['text']));
E Emil W Medlem sedan mars 2009 512 inlägg Funkar perfekt tack voigtann1