Jestem dużym użytkownikiem używającym podwójnych cudzysłowów w PHP, dzięki czemu mogę interpolować zmienne zamiast łączyć ciągi. W rezultacie podczas generowania kodu HTML często używam pojedynczych cudzysłowów do ustawiania pól znaczników. Na przykład:
$html = "<input type='text' name='address' value='$address'>";
Teraz jest to dla mnie o wiele bardziej czytelne niż inne
$html = "<input type=\"text\" name=\"address\" value=\"$address\">";
lub
$html = '<input type="text" name="address" values="' . $address . '">' ;
Z krótkich wyszukiwań słyszałem ludzi, którzy mówili, że pojedyncze cudzysłowy dla pól HTML nie są rozpoznawane przez KAŻDĄ przeglądarkę. Dlatego zastanawiam się, które przeglądarki miałyby problemy z rozpoznaniem pojedynczego cudzysłowu w HTML?
Odpowiedzi:
Jest to podobne do Kiedy pojedyncze cudzysłowy w HTML stały się tak popularne? . Pojedyncze cudzysłowy wokół atrybutów w HTML są i zawsze były dozwolone w specyfikacji . Nie sądzę, żeby żadna przeglądarka ich nie zrozumiała.
źródło
<img src='cid:xxx' ... />
do wyświetlania obrazu w tekście, nie pojawi się on w ogóle, ponieważ identyfikator treści został zignorowany. Zamiast tego musisz użyć `<img src =" cid: xxx "... />.Jak zauważył PhiLho, chociaż istnieje szeroko rozpowszechnione przekonanie, że pojedyncze cudzysłowy nie są dozwolone dla wartości atrybutów, to przekonanie jest błędne.
Standard XML dopuszcza zarówno pojedyncze, jak i podwójne cudzysłowy wokół wartości atrybutów.
Standard XHTML nie mówi nic, aby to zmienić, ale powiązana sekcja, która stwierdza, że wartości atrybutów muszą być cytowane w przykładzie, używa podwójnych cudzysłowów w przykładzie, co prawdopodobnie doprowadziło do tego zamieszania. Ten przykład tylko wskazuje, że wartości atrybutów w XHTML muszą spełniać minimalne standardy dla wartości atrybutów w XML, co oznacza, że muszą być cytowane (w przeciwieństwie do zwykłego HTML, który nie ma znaczenia), ale nie ogranicza cię do pojedynczego lub podwójne cudzysłowy.
Oczywiście zawsze jest możliwe, że napotkasz parser, który nie jest zgodny ze standardami, ale kiedy to się stanie, wszystkie zakłady i tak są nieważne. Dlatego najlepiej trzymać się tego, co mówi specyfikacja. Dlatego w końcu mamy specyfikacje.
źródło
Ta osoba się myli.
źródło
Nie wierz we wszystko, co widzisz w Internecie ...
Zabawne, właśnie odpowiedziałem na coś podobnego do kogoś, kto twierdzi, że pojedyncze cudzysłowy nie są poprawne w XHTML ...
Mmm, patrzę powyżej podczas pisania i widzę, że Adam N propaguje to samo przekonanie. Jeśli będzie mógł potwierdzić swoją afirmację, wycofam to, co napisałem ... AFAIK, XML jest agnostykiem i akceptuje oba rodzaje cytatów. Próbowałem nawet i sprawdziłem bez problemu stronę XHTML z pojedynczymi cudzysłowami.
źródło
Jedynym problemem jest to, że dane trafiają do pól TEXT INPUT. Rozważać
Tak samo z:
Nie możesz od tego uciec, musisz użyć
htmlspecialchars
.źródło
<input value='it's gonna break'/>
<input value="it's not gonna break"/>
i vice versa:<input value='i say - "this is not gonna be trouble"'/>
.Ponieważ szukałem informacji na ten temat w znacznie nowszej wersji specyfikacji, a znalezienie ich zajęło mi trochę czasu, oto jest:
Z
źródło
Mam też tendencję do używania pojedynczych cudzysłowów w HTML i nigdy nie napotkałem problemu.
źródło
Użyłem pojedynczych cudzysłowów na stronach HTML i osadziłem w nim JavaScripts i działa dobrze. Testowane w IE9, Chrome i Firefox - wydaje się działać dobrze.
źródło
Ostatnio miałem problem z optymalizacją wyszukiwarki Google. Jeśli ma pojedynczy cudzysłów, nie przeszukuje powiązanych stron.
źródło
<a href=''>
atrybuty?... lub po prostu użyj heredoców. Wtedy nie musisz się martwić o ucieczkę przed niczym innym
END
.źródło
Pojedyncze cudzysłowy są dobre dla HTML, ale nie tworzą prawidłowego XHTML, co mogłoby być problematyczne, gdyby ktoś używał przeglądarki obsługującej tylko XHTML, ale nie HTML. Nie sądzę, aby istniały takie przeglądarki, chociaż prawdopodobnie są tacy agenci użytkownika, które wymagają ścisłego XHTML.
źródło
application/xhtml+xml
lubapplication/xml
.