Czy możesz podać kontekst? Czy to jest akcja w formie? Właśnie wyświetlany na stronie?
jprofitt
@ user470184 Nie głosowałem przeciw, ale rozważałem to. W SO jest już mnóstwo informacji dotyczących tego problemu.
Charles Sprayberry
„Ogólne zachowanie” jest nadal dość niejasne. Zastanawiasz się nad czymś takim jak <p>www.testurl.com/test?param1=test&current=true</p>lub <a href="www.testurl.com/test?param1=test&current=true">linky</a>?
jprofitt
@ jprofitt <a href="www.testurl.com/test?param1=test¤t=true"> linky </a>
blue-sky
Odpowiedzi:
126
& to HTML dla „Początku odwołania do znaku”.
& jest odniesieniem do znaku „ampersand”.
¤t; nie jest standardowym odwołaniem do znaków i tak samo jest z błędem (przeglądarki mogą próbować naprawić błąd, ale nie powinieneś na tym polegać).
Jeśli użyłeś odwołania do znaku dla prawdziwego znaku (np. ™), To (™) pojawi się w adresie URL zamiast żądanego ciągu.
(Zwróć uwagę, że w zależności od używanej wersji HTML może być konieczne zakończenie odniesienia do znaku znakiem a ;, dlatego &trade=będzie traktowane jako ™. HTML 4 umożliwia pominięcie tego znaku, jeśli następny znak jest znakiem niebędącym słowem ( takie jak =), ale niektóre przeglądarki (Hello Internet Explorer) mają z tym problemy).
Dlatego celem jest uniknięcie problemów podczas próby weryfikacji witryny. Dlatego &podczas pisania adresu URL w znaczniku należy zastąpić ampersandy .
Zauważ, że zastąpienie &z & odbywa się tylko podczas pisania adresu URL w HTML, gdzie "&"jest znakiem specjalnym (razem z „<” i „>”). Pisząc ten sam adres URL w zwykłej wiadomości e-mail z tekstem lub na pasku adresu przeglądarki, używałbyś, "&"a nie "&". Z HTML, przeglądarka przekłada "&"się "&"więc serwer sieci Web będzie tylko zobaczyć "&"
, a nie "&"w ciągu kwerendy wniosku.
To świetny przykład. Kiedy ¤tjest analizowany do węzła tekstowego , jest konwertowany na ¤t. Podczas analizowania do wartości atrybutu jest analizowany jako ¤t.
Jeśli chcesz ¤tmieć węzeł tekstowy, powinieneś wpisać &currentswój znacznik.
<p>www.testurl.com/test?param1=test&current=true</p>
lub<a href="www.testurl.com/test?param1=test&current=true">linky</a>
?Odpowiedzi:
&
to HTML dla „Początku odwołania do znaku”.&
jest odniesieniem do znaku „ampersand”.¤t;
nie jest standardowym odwołaniem do znaków i tak samo jest z błędem (przeglądarki mogą próbować naprawić błąd, ale nie powinieneś na tym polegać).Jeśli użyłeś odwołania do znaku dla prawdziwego znaku (np.
™
), To (™) pojawi się w adresie URL zamiast żądanego ciągu.(Zwróć uwagę, że w zależności od używanej wersji HTML może być konieczne zakończenie odniesienia do znaku znakiem a
;
, dlatego&trade=
będzie traktowane jako ™. HTML 4 umożliwia pominięcie tego znaku, jeśli następny znak jest znakiem niebędącym słowem ( takie jak=
), ale niektóre przeglądarki (Hello Internet Explorer) mają z tym problemy).źródło
HTML nie rozpoznaje elementu,
&
ale rozpozna&
go, ponieważ jest równy&
w HTMLPrzejrzałem ten post, który ktoś napisał: http://www.webmasterworld.com/forum21/8851.htm
źródło
Moje źródło: http://htmlhelp.com/tools/validator/problems.html#amp
To jest nieprawidłowe:
Wyjaśnienie:
Dlatego celem jest uniknięcie problemów podczas próby weryfikacji witryny. Dlatego
&
podczas pisania adresu URL w znaczniku należy zastąpić ampersandy .Mam nadzieję że to pomoże : )
źródło
To świetny przykład. Kiedy
¤t
jest analizowany do węzła tekstowego , jest konwertowany na¤t
. Podczas analizowania do wartości atrybutu jest analizowany jako¤t
.Jeśli chcesz
¤t
mieć węzeł tekstowy, powinieneś wpisać&current
swój znacznik.Krwawe szczegóły są tutaj: http://dev.w3.org/html5/spec/tokenization.html#consume-a-character-reference
źródło
jeśli robisz ciąg znaków. robić:
źródło
&
HTML, a nie&
adresów URL.