Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prikazivanje koda

[es] :: PHP :: Prikazivanje koda

[ Pregleda: 3169 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Jaka_S

Član broj: 21695
Poruke: 13
*.dsl.siol.net



Profil

icon Prikazivanje koda14.09.2004. u 20:27 - pre 238 meseci
Pozdrav raja.

Molim vas, da mi pomognete kod jednog, onako više tehničkog, pitanja.
Pravim jedan mali forum u php-u i pokušavan koristnicima omogučiti prikaz koda.
E, sad prije slanja nove poruke u bazu, napravim ovo:

$text=addslashes(htmlspecialchars($text, ENT_QUOTES));

Time pokušavan izbječi unos koda, koji bi mogao napraviti probleme.

Evo sad problema. Pri unosu php koda upotrebljavam ubb kod, znači [php] i [/php].
Pri izpisu to parsiram in izpišem sa php funkcijom highlight_string($text).
Problem je u tome, što ova funkcija ne mjenja ekvivalente u html-u v normalne znakove.

Primjer:
Umjesto
Code:

<table width="140" cellpadding="1" bgcolor="#CCCCFF" class="pisava">
<tr>
<td width="20" height="20"><div align="left">


funkcija izpiše

Code:

&lt;table width=&quot;140&quot; cellpadding=&quot;1&quot; bgcolor=&quot;#CCCCFF&quot; class=&quot;pisava&quot;&gt;
  &lt;tr&gt;
    &lt;td width=&quot;20&quot; height=&quot;20&quot;&gt;&lt;div align=&quot;left&quot;&gt;


Nadam se, da ste razumjeli. :)

Zanima me, kako to riješavate u vašim forumima ili, kako je to riješeno recimo na ovom forumu?
Želeo bih koristiti funkciju highlight_string zato, što lijepo oboji kod. :)

Hvala unaprijed.
 
Odgovor na temu

Not now, John!

Član broj: 231
Poruke: 1318
*.dialup.blic.net



+4 Profil

icon Re: Prikazivanje koda14.09.2004. u 23:06 - pre 238 meseci
Nemoj koristiti htmlspecialchars funkciju prije nego što tekst smjestiš u bazu. U bazu treba da bude smješten tekst onako kako ga je korisnik unio. Dakle, koristi samo addslashes ili mysql_encode_string.
Kada tekst prikazuješ onda koristi htmlspecialchars funkciju. Vjerovatno prije nje treba pozvati tu highlight funkciju šti želiš.
"I'd take the awe of understanding over the awe of ignorance any day."
- Douglas Adams
 
Odgovor na temu

Jaka_S

Član broj: 21695
Poruke: 13
*.dsl.siol.net.



Profil

icon Re: Prikazivanje koda15.09.2004. u 22:38 - pre 238 meseci
Probao sam tu mogučnost, ali nema razlike.

Keč je u tome, što za izpisivanje koda između delimitera [PHP] ne trebam htmpspecialchar, a za sav ostali text trebam zbog sigurnosti.

Kako to riješiti?

LP
 
Odgovor na temu

[es] :: PHP :: Prikazivanje koda

[ Pregleda: 3169 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.