Soy un gran usuario del uso de comillas dobles en PHP para poder interpolar variables en lugar de concatenar cadenas. Como resultado, cuando estoy generando HTML, a menudo uso comillas simples para configurar los campos de etiqueta. Por ejemplo:
$html = "<input type='text' name='address' value='$address'>";
Ahora esto es mucho más legible para mí que cualquiera
$html = "<input type=\"text\" name=\"address\" value=\"$address\">";
o
$html = '<input type="text" name="address" values="' . $address . '">' ;
En búsquedas breves, he oído a personas decir que TODOS los navegadores no reconocen las comillas simples para los campos HTML. Por lo tanto, me pregunto qué navegadores tendrían problemas para reconocer la comilla simple HTML.
Respuestas:
Esto es similar a ¿ Cuándo se hicieron tan populares las comillas simples en HTML? . Las comillas simples alrededor de los atributos en HTML son y siempre han sido permitidas por la especificación . No creo que ningún navegador los entienda.
fuente
<img src='cid:xxx' ... />
para mostrar una imagen en línea, no aparecerá en absoluto porque la identificación de contenido fue ignorada. Debe usar `<img src =" cid: xxx "... /> en su lugar.Como señaló PhiLho, aunque existe una creencia ampliamente difundida de que las comillas simples no están permitidas para los valores de los atributos, esa creencia es incorrecta.
El estándar XML permite las comillas simples y dobles alrededor de los valores de los atributos.
El estándar XHTML no dice nada para cambiar esto, pero una sección relacionada que establece que los valores de los atributos deben ser citados usa comillas dobles en el ejemplo, lo que probablemente ha llevado a esta confusión. Este ejemplo simplemente señala que los valores de atributo en XHTML deben cumplir con el estándar mínimo para los valores de atributo en XML, lo que significa que deben citarse (a diferencia del HTML simple que no le importa), pero no lo restringe a uno solo o doble comillas.
Por supuesto, siempre es posible que encuentres un analizador que no cumpla con los estándares, pero cuando eso suceda, todas las apuestas estarán canceladas de todos modos. Por lo tanto, es mejor atenerse a lo que dice la especificación. Es por eso que tenemos especificaciones, después de todo.
fuente
Esa persona está equivocada.
fuente
No creas todo lo que ves en Internet ...
Curiosamente, acabo de responder algo similar a alguien que declara que las comillas simples no son válidas en XHTML ...
Mmm, miro arriba mientras escribo, y veo que Adam N propaga la misma creencia. Si puede respaldar su afirmación, me retracto de lo que escribí ... AFAIK, XML es agnóstico y acepta ambos tipos de citas. Incluso probé y validé sin problemas una página XHTML con solo comillas simples.
fuente
El único problema son los datos que entran en los campos de ENTRADA DE TEXTO. Considerar
Lo mismo con:
No puedes escapar de eso, tienes que usarlo
htmlspecialchars
.fuente
<input value='it's gonna break'/>
<input value="it's not gonna break"/>
y viceversa:<input value='i say - "this is not gonna be trouble"'/>
.Como estaba buscando encontrar información sobre esto en una versión mucho más reciente de la especificación y me llevó bastante tiempo encontrarla, aquí está:
De
fuente
También tiendo a usar comillas simples en HTML y nunca he tenido un problema.
fuente
Usé comillas simples en páginas HTML e inserté JavaScripts en él y funciona bien. Probado en IE9, Chrome y Firefox, parece funcionar bien.
fuente
Recientemente he tenido un problema con la optimización de Búsqueda de Google. Si tiene comillas simples, no parece rastrear páginas vinculadas.
fuente
<a href=''>
atributos?... o simplemente use heredocs. Entonces no necesita preocuparse por escapar de otra cosa que no sea
END
.fuente
Las comillas simples están bien para HTML, pero no hacen XHTML válido, lo que podría ser problemático si alguien usara un navegador que solo admitiera XHTML, pero no HTML. No creo que exista ningún navegador de este tipo, aunque es probable que existan algunos Agentes de usuario que requieran XHTML estricto.
fuente
application/xhtml+xml
oapplication/xml
.