[ sekvoja @ 28.09.2008. 01:24 ] @
Imam html formu, vrednost se upisuje sa value="<?php echo $value;?>"

Ta vrednost treba da bude recimo value="knjiga "četiri godišnja doba"" (bezvezan primer u kome su zastupljeni nasi karakteri i dupli navodnici).

Ja koristim f-ju htmlentities() i uspesno prikazujem duple navodnike ali nasi karakteri su onda necitki.
Da bih prikazao nase karaktere moram da uklonim htmlentities() ali onda se output prekida posle prvog duplog navodnika:

value="knjiga "

Pomoc dobrodosla...
[ Man-Wolf @ 28.09.2008. 09:30 ] @
Jesi probao da escape-ujes navodnije sa \" ? Odnosno:

Code:

value="knjiga \"druga knjiga \" "


?
[ Nemanja Avramović @ 28.09.2008. 10:27 ] @
Ovo su elementarne stvari. Pogledaj malo po PHP manual-u pre nego što postaviš pitanje na forumu.

http://www.php.net/addslashes
[ sekvoja @ 28.09.2008. 19:21 ] @
Bolje bilo kakav odgovor nego nikakav...
Naravno da sam probao sa addslashes(), i naravno da uvek prvo pogledam
manual, ali ovaj put nisam imao srece pa zato i postavljam pitanje ovde.
Izgleda da je neko drugi brzopleto postovao :)

Znaci:

<input type="text" name="cite" value="<?php echo htmlentities($cite);?>" />
Output: �etvrta knjiga "Nema�ki ov�ar"

<input type="text" name="cite" value="<?php echo $cite;?>" />
Output: četvrta knjiga

<input type="text" name="cite" value="<?php echo addslashes($cite);?>" />
Output: četvrta knjiga \


Dakle problem je sto ne mogu da istovremeno prikazem nasa slova i duple
navodnike u formi. Znam da mogu da kombinujem single i double quote
unutar njih i vice versa, ali moram da sredim i ovako da sljaka.
[ Jezdimir Lončar @ 28.09.2008. 19:36 ] @
Nisam baš najbolje skontao sve ovo ali ajde.
Jesi probao da outputuješ Content-Type: text/html; charset=UTF-8 header?
Code:
header("Content-Type: text/html; charset=UTF-8");


EDIT:
Nebitno ovo za header, sad sam skapirao da nije do toga.
Evo sad sam gledao na localhostu i ovako sam sredio problem:
Code:

<?php
$cite = 'knjiga "četiri godišnja doba"';
?>
<input type="text" name="cite" value='<?=stripslashes($cite);?>' />


EDIT 2:
Evo još jednog rešenja:
Code:

<?php
$cite = htmlspecialchars("knjiga \"četiri godišnja doba\"");
?>
<input type="text" name="cite" value="<?=$cite?>" />
[ sekvoja @ 28.09.2008. 20:13 ] @
Hvala na odgovoru, htmlspecialchars() resava problem.
[ Nemanja Avramović @ 28.09.2008. 22:45 ] @
Pardon, moja greška. Nekako mi je bilo logično da addslashes eskejpuje duple navodnike (što i radi) i da se onda lepo prikaže string u formi. Ipak, iz nekog razloga, to ne radi, ali htmlspecialchars radi