Neden PHP otomatik olarak HTML varlıkları autodecoding edilir?

2 Cevap

Ben örneğin HTML varlıkları arasında, bazı form değerleri var:

<option value="Coup&#232;"> Coup&#232; </option>

Form Ben bir print_r($_POST); yaparsanız, sunucuya gönderilen ve daha sonra sayfanın kaynağını görmek Ancak, bir kez, işletme, gerçek aksanlı karakter, yoktur.

Ben htmlentities olsa ben sadece sonrası verileri çalıştırabilirsiniz herhalde ama ben merak ediyorum PHP için bu standart bir davranış mıdır? Ya da bu ben kapatabilirsiniz şeydir?

2 Cevap

PHP değildir; tarayıcı. Sen kundakçı veya bir dinleyicisi ile kontrol edebilirsiniz.

Onu karşılaştığında tarayıcı onlar için geldik, varlık çözmektir. Dize &#232; araçları "Dear Browser, please replace this with the character 'è', because for whatever reason I could not write 'è' directly."

Tarayıcı olursa olsun görünür metin veya nitelik değerleri konum olsun, sayfada kullanılan herhangi varlıkları çözecektir.

Tarayıcı varlık çözme beri Yani, siz bir varlık olarak deşifre edilebilir bir dize kullanmak istiyorsanız mevcudiyetin kendini kodlamak gerekir:

Coup&amp;#232;

Bu, tarayıcı tarafından deşifre edilecek

Coup&#232;

Ben bu gün ve yaş, bu olsa kullanımını sorgulamak istiyorum ve çoğu durumda Unicode karakter ile başlamak için bu tür kodlama gerektirecek bir sorun teşkil etmemelidir. Sadece "coupe" yazmak ve onunla yapılabilir. :)