Eu sou um grande usuário do uso de aspas duplas no PHP para poder interpolar variáveis em vez de concatenar strings. Como resultado, quando gero HTML, costumo usar aspas simples para definir campos de tags. Por exemplo:
$html = "<input type='text' name='address' value='$address'>";
Agora, isso é muito mais legível para mim do que
$html = "<input type=\"text\" name=\"address\" value=\"$address\">";
ou
$html = '<input type="text" name="address" values="' . $address . '">' ;
A partir de breves pesquisas, ouvi pessoas dizendo que aspas simples para campos HTML não são reconhecidas por TODOS os navegadores. Então, eu estou querendo saber o que os navegadores teriam problemas ao reconhecer HTML de aspas simples?
Respostas:
Isso é semelhante a Quando as aspas simples em HTML se tornaram tão populares? . Aspas simples em torno dos atributos em HTML são e sempre foram permitidas pela especificação . Não acho que nenhum navegador os entenda.
fonte
<img src='cid:xxx' ... />
uma imagem embutida, ela não aparecerá porque o ID do conteúdo foi ignorado. Você precisa usar `<img src =" cid: xxx "... />.Como observado por PhiLho, embora haja uma crença amplamente difundida de que aspas simples não são permitidas para valores de atributos, essa crença está errada.
O padrão XML permite aspas simples e duplas em torno dos valores dos atributos.
O padrão XHTML não diz nada para mudar isso, mas uma seção relacionada que afirma que os valores dos atributos devem ser citados usa aspas duplas no exemplo, o que provavelmente levou a essa confusão. Este exemplo está apenas indicando que os valores de atributo em XHTML devem atender ao padrão mínimo para valores de atributo em XML, o que significa que devem ser citados (em oposição ao HTML simples que não se importa), mas não o restringe a um único ou aspas duplas.
Obviamente, é sempre possível que você encontre um analisador que não é compatível com os padrões, mas quando isso acontece, todas as apostas estão desativadas. Portanto, é melhor seguir o que a especificação diz. É por isso que temos especificações, afinal.
fonte
Essa pessoa está errada.
fonte
Não acredite em tudo que você vê na Internet ...
Engraçado, acabei de responder algo semelhante a alguém declarar aspas simples não válidas em XHTML ...
Mmm, eu olho para cima enquanto digito e vejo que Adam N propaga a mesma crença. Se ele puder confirmar sua afirmação, retiro o que escrevi ... AFAIK, XML é agnóstico e aceita os dois tipos de citação. Até tentei e validei sem problemas uma página XHTML com apenas aspas simples.
fonte
O único problema são os dados que entram nos campos TEXT INPUT. Considerar
Mesmo com:
Você não pode escapar disso, você tem que usar
htmlspecialchars
.fonte
<input value='it's gonna break'/>
<input value="it's not gonna break"/>
e vice-versa:<input value='i say - "this is not gonna be trouble"'/>
.Como eu estava procurando informações sobre isso em uma versão muito mais recente da especificação e demorei bastante tempo para encontrá-la, aqui está:
De
fonte
Também costumo usar aspas simples em HTML e nunca tive um problema.
fonte
Eu usei aspas simples em páginas HTML e JavaScripts embutidos nele e funciona bem. Testado no IE9, Chrome e Firefox - parece funcionar bem.
fonte
Recentemente, tive um problema com a otimização da Pesquisa Google. Se tiver aspas simples, não parece rastrear páginas vinculadas.
fonte
<a href=''>
atributos?... ou apenas use heredocs. Então você não precisa se preocupar em escapar de nada além disso
END
.fonte
As aspas simples são adequadas para HTML, mas elas não tornam XHTML válido, o que pode ser problemático se alguém estiver usando um navegador que suporta apenas XHTML, mas não HTML. Não acredito que esses navegadores existam, embora haja provavelmente alguns User-Agents por aí que exijam XHTML estrito.
fonte
application/xhtml+xml
ouapplication/xml
.