[ mxxm @ 26.11.2012. 16:47 ] @
Napravio sam mini forum, ali ne znam kako da mi se prikaze neki kod u njemu. ovako izgleda kod za prikazivanje:

Code:

while ($row = mysql_fetch_array($result)) {
    
    $ename = ($row['name']);
    $epost = ($row['post']);
    
    echo "<div class='poruka'><p><strong>$ename :</strong></p><p>$epost</p></div><br />";
}



ne vrsim nikakvu proveru i sanciju. Ali opet mi se recimo kod <?php echo 'hello' ?> ne priakzuje kao i mnogi drugi slucajevi dva navodnika i slicno...kako ovo da resim. forum je zatvorenog tipa, znaci nema hakerskih upada, samo hocu da mis e prikazuje sve sto upisem.

I kod upisivanja u bazu ne vrsim nikakvu sanciju. sve je lepo upisano u bazi bas onako kako sam ja uneo, ali mi je view loš.
[ maddog_srb @ 26.11.2012. 17:41 ] @
evo na brzinu probaj http://www.php.net/manual/en/function.htmlentities.php

mada valjda shvatas da ti to "nista provera" pre upisa nije bas najpametnije resenje.
[ ivan.a @ 26.11.2012. 17:42 ] @
Sve zavisi kakav markup txt koristiš za bazu podataka (bbcode, html, parsiran html...).
Možeš koristiti i htmlentities funkciju...
Najbolje je da napraviš funkciju za pripremu teksta za unos u bazu i obrnut proces tj. za čitanje.
Na primer osnovna funkcija za unos teksta u bazu:

Code:
    function text_for_db($text)
    {
        $str_from = array('<', '>', '[', ']', '.', ':', '"', "'");
        $str_to = array('&lt;', '&gt;', '&#91;', '&#93;', '&#46;', '&#58;', '&#34;', '&#39;');

        return str_replace($str_from, $str_to, $text);
    }

(poslednja 2 su double i single quote -> " i ').
I kod prikaza isto to samo obrnut redosled (str_to -> str_from).

Ako ne želiš da se mučiš oko specijalnih znakova i potencijalnih sigurnosnih propusta probaj neka gotova rešenja pa prilagodi za svoje potrebe:
http://htmlpurifier.org/
http://pecl.php.net/package/bbcode
http://pear.php.net/package/HTML_BBCodeParser

Pogledaj source kod poznatih foruma, možda dobiješ neku ideju...
[ mxxm @ 28.11.2012. 10:05 ] @
Citat:
ivan.a:

Code:
function text_for_db($text)
{
$str_from = array('<', '>', '[', ']', '.', ':', '"', "'");
$str_to = array('&lt;', '&gt;', '&#91;', '&#93;', '&#46;', '&#58;', '&#34;', '&#39;');

return str_replace($str_from, $str_to, $text);
}



A gde mogu da nadjem i kako da proverim koji simbol reprezentuje koji znak, tj. to sto si ti uradio.
[ ŽIKI @ 28.11.2012. 11:00 ] @
http://www.w3schools.com/tags/ref_ascii.asp
[ mxxm @ 28.11.2012. 17:05 ] @
Jel postoji neka php funkcija koja konvertuje napisan tekst u ascii bez da pisem ja funkciju?
--------------------------------------------------------

Uradio sam dobro, dodado sam nl2br i jos neke karaktere tako da sad moze da se pise i kod, jos ne mogu za space da napravim adekvatnu zamenu jer ne radi? pise da je: &#32; medjutim uvek mi naparavi samo jedan razmak, no valjda je i bolje tako, ali mora da postoji resenje.

[Ovu poruku je menjao mxxm dana 28.11.2012. u 20:14 GMT+1]
[ maddog_srb @ 30.11.2012. 13:21 ] @
A zasto menjas space? zasto ga ne ostavis kao space?
[ mxxm @ 01.12.2012. 14:18 ] @
Citat:
maddog_srb: A zasto menjas space? zasto ga ne ostavis kao space?


Zato sto browseri prikazuju samo jedan razmak, bez obzira koliko puta ti ubacio space. A hteo sam pored vertikalnih pomaeranja da omogucim i horizontalna pomeranja teksta.
[ maddog_srb @ 01.12.2012. 14:38 ] @
pa zameni ga sa &nbsp;