Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 4.316 pregleda

Najnovija ↓

Prikazivanje koda 14.09.2004. u 21:27 · pre 269 meseci #1
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.
Re: Prikazivanje koda 15.09.2004. u 00:06 · pre 269 meseci #2
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š.
Potpis
"I'd take the awe of understanding over the awe of ignorance any day."
- Douglas Adams
Re: Prikazivanje koda 15.09.2004. u 23:38 · pre 269 meseci #3
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
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme