Nasıl Yapılır 1.1 o kaçan olmadan bir işareti doğrulamak XHTML?

5 Cevap php

Benim sorun şudur. Ben bir formu ve giriş alanları olan bir XHTML 1.1 sayfa var. Giriş alanlardan biri URI bir değer içerir. Bu URI tarayıcıda başka bir web uygulaması ile bir GET isteği olarak geçilecek argüman ayırıcı olarak ve işareti ile anahtar-değer çiftlerini (&) içerir.

Genellikle XHTML 1.1 olarak kodu doğrulamak için ve işaretleri oluşturmak için varlık & kullanmak istiyorsunuz. Benim buradaki sorunu (beklendiği gibi) tarayıcı URI & nasıl işleneceğini anlamak olmadığından uygulama, GET isteğini almak olmamasıdır.

Yani benim soru HTML varlık kullanmadan bir işareti yazmak için nasıl gerçekten, yani tarayıcı hala argüman ayırıcı olarak tanır ve GET isteği web uygulaması düzgün aktarılır.

Ben işareti kodlayan Hex (% 26) çalıştı ama tarayıcı hala geri doğru onu "tercüme" ve değil karakter.

Ilgili bir soru, ama ben soruyorum soruya kesin cevap vermez:

http://stackoverflow.com/questions/275150/xhtml-and-ampersand-encoding

5 Cevap

Ben bu konuda daha fazla zaman harcama rahatsız olamazdı. Ben sadece ayrıca yarı virgül (;) bu yüzden yerine ampersand kullanabilirsiniz dahil argüman ayırıcı değişti:

#cat .htaccess
php_value arg_separator.input "&;"

Bir varlık kullanmadan bir öznitelik değerinde bir ampersan karakteri dahil etmek için hiçbir yolu yoktur.

Orada bir varlık veya CDATA işaretlerini kullanarak olmadan textNode olarak bir ve işareti karakteri eklemek için hiçbir şekilde (ama ben o kullanamazsınız böylece text / html olarak hizmet vermekteyiz bahis).

O dedi - varlık kırık çözmek için başarısız herhangi bir tarayıcı. Hiçbir ana tarayıcı orada başarısız olur. Ya bir karanlık ve kırık tarayıcısını kullanırken, ya da sorunu atlamamak vardır.

Eğer başvurulan diğer soru da belirttiğim gibi, tarayıcı & & dönüştürür sayfa işlenmiş, bu yüzden "ve" zaman (& değil) GET isteği sunucuya gönderilmesi gerekmektedir. Belki bu durumda, size HTML kodunu gerekebilir, GET isteği yapmak için Ajax kullanıyor. İşletme XHTML için gereklidir - hiçbir alternatif kodlama, sadece düzgün çözülür emin olun.

Referans: The & changes to & bir köprü

Kaçtı & XHTML belge her yerde istemci (tarayıcı) tarafından dönüştürülmesi gerekir.

Yani should & her & kaçış

Eğer biz sorunu anlamak daha iyi bir iş yapabileceğini kod sonrası olabilir eğer, bu bilgileri tutmaya çalışıyoruz nerede anlatmak için onun zor kodu olmadan.

(Bu size bakacak aslında ne ise) mümkün One gibi diğer form unsurları içine sorgu dizesi öğeleri taşımak için:

<form action="example.com/?foo=1&bar=2>
    <!-- ... -->
</form>

için:

<form action="example.com">
    <input type="hidden" name="foo" value="1" />
    <input type="hidden" name="bar" value="2" />
    <!-- ... -->
</form>