Autor Zpráva
cheli
Profil
Zdravim, mám takový problém, který už se někde nejspíš řešil, ale já to zatim nenašel. Teď už sem to tak trochu vyřešil, ale určite to znepřehlední kód.
Potřebuju, aby ve formulářovém INPUTU v hodnotě VALUE objevil text s apostrofem. Používám uvozovky na ohraničení, ale když potřebuju třeba v echu rozlišit hodnoty, tak použiji apostrof místo zpětného lomítka.
Takhle se zobrazí jenom it
echo "<form action='' method='post'>";
echo "<input type='text' value='it's right'/>";
echo "</form>";


Ale takhle se to zobrazí správně.
echo "<form action=\"\" method=\"post\">";
echo "<input type=\"text\" value=\"it's right\"/>";
echo "</form>";


Nejde v tý první variatně nejspíš proto, že php neumí rozlišit, který apostrof použít jako text a který na ohraničení hodnoty, když jsou v té hodnotě celkem tři, ale stejně bych rád zůstal u těch apostrofů než, aby muj kód měl více stylů zapisování. Pokud zná někdo způsob jak to vyřešit, tak budu rád.
Joker
Profil
cheli:
Tak logicky, když ty apostrofy ohraničují řetězec
echo "<input type='text' value='it's right'/>";


Například takhle by to fungovalo:
echo '<input type="text" value="it\'s right"/>';
fuckin
Profil
moc se nepochopil co vlastne chces.
Kdyz pouzijes uvozovky tak nektere znaky budes muset escapovat (dat \).

Kdyz pouzijes jednoduche uvozovky pak tento problem pada u vetsiny znaku.
echo ' " " '; // " "

Nepochopil sem o jakych apostrofech se celou dobu bavis kdyz ve tvem prikladu neni ani jeden.
cheli
Profil
Asi to vážně nejde jinak než buď rozlišit v té hodnotě VALUE apostrofy a uvozovky nebo dát tam uvozovky a před to zpětné lomítko.
Fuckin: V tom prvním kódu je apostrofů dost a to je asi ten problém.
Každopádně dík, myslel sem, že je ještě něco efektivnějšího. Zkoušel sem to přes různý funkce real_esc... nebo stripslashes, ale to sem zjistil až dneska, že to bude jenom tomle.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: