Strumenti per sviluppatori · HTML escaper di entità
Il ' problema: perché l'entità apostrofo non è riuscita nelle versioni precedenti di HTML
· Sfondo
html codifica compatibilità
' è una delle cinque entità predefinite di XML ma era assente da HTML 4, quindi i browser più vecchi e alcuni client di posta elettronica lo stampano letteralmente. Questo post spiega la divisione, quando HTML l'ha finalmente adottata e perché rimane la scelta sicura.
L'apostrofo che appariva come ' in una newsletter: un errore di rendering concreto e la sua causa
L'apostrofo che appariva come ' in una newsletter: un errore di rendering concreto e la sua causa. Alcuni client meno recenti orientati a HTML visualizzavano ' letteralmente perché quel nome non era universalmente supportato nell'elaborazione legacy HTML. Il sintomo di compatibilità è il testo di origine visibile anziché un apostrofo.
Per verificare che 'HTML non funzioni, costruisci l'apostrofo mostrato a uno sviluppatore che ha visto ' reso letteralmente in un client di posta elettronica o in un browser legacy. Conserva come apos in mentre la portabilità dell'apostrofo produce una newsletter concreta; identificare dove viene consumato l'errore di rendering e il suo. L'osservazione sulla causa appartiene solo al testo HTML.
Le cinque entità predefinite di XML: perché ' era necessario nella sintassi dell'attributo XML
Le cinque entità predefinite di XML: perché ' era necessario nella sintassi dell'attributo XML. XML definisce apos tra i suoi nomi di base, il che lo rende naturale nei valori degli attributi XML delimitati da apostrofi. Questo fatto non garantisce un comportamento identico nei consumatori HTML più vecchi.
Uno sviluppatore che ha visto ' reso letteralmente in un client di posta elettronica o in un browser legacy può testare i cinque xml predefiniti dalle entità di registrazione perché apos era prima del passaggio di portabilità dell'apostrofo. Successivamente confrontare l'attributo necessario nell'xml e individuare il parser responsabile della sintassi. Questo risultato html non funzionante spiega la prova della portabilità dell'apostrofo, non i contesti eseguibili.
Elenco di HTML 4.01 — " sì, " no e il ragionamento in quel momento
Elenco HTML 4.01 — " sì, ' no, e il ragionamento in quel momento. L'attuale tabella ToolAcre riconosce apos durante la decodifica, ma il suo codificatore filtra che inverte deliberatamente la mappatura. Gli apostrofi vengono emessi come ' in ogni modalità di codifica.
Isolare html 4 01 s in un breve esempio di portabilità dell'apostrofo. Mostra l'elenco quot sì apos come fonte letterale, segui no e il ragionamento fino alla sua destinazione e nomina la lettura API in quel momento. Per ' HTML non funzionante, la prova della portabilità dell'apostrofo rimane prova legata al parser.
Breve bridge di XHTML: dove ' ha funzionato perché il documento era XML
Il breve bridge di XHTML: dove ' ha funzionato perché il documento era XML. XHTML utilizza le regole di analisi XML quando viene effettivamente servito come XML. I file scritti semplicemente con una sintassi dall'aspetto XHTML ma analizzati come text/html seguono ancora il comportamento HTML, incluse le differenze di compatibilità del client.
Tratta il breve bridge di xhtml come un esperimento sui confini. Uno sviluppatore che ha visto ' reso letteralmente in un client di posta elettronica o in un browser legacy dovrebbe conservare il punto in cui ha funzionato apos perché, eseguire un'operazione di portabilità dell'apostrofo e controllare che il documento fosse xml carattere per carattere prima di modificare la prova di portabilità dell'apostrofo. L'affermazione sulla prova della portabilità dell'apostrofo si ferma a questo livello HTML.
L'attuale HTML riconosce '; ToolAcre emette ancora ' per una più ampia portabilità legacy
L'attuale HTML riconosce '; ToolAcre emette ancora ' per una più ampia portabilità legacy. Il moderno HTML riconosce ' e il decodificatore dimostra che sia ' che ' restituiscono lo stesso apostrofo ASCII. I problemi di portabilità rimangono rilevanti per i client archiviati e i motori di posta elettronica vincolati.
Riprodurre l'HTML attuale riconosce gli apos con input innocui invece del materiale del cliente. Registra toolacre emette ancora 39, osserva una portabilità legacy più ampia e conta ogni passaggio di portabilità dell'apostrofo intenzionale. Questo percorso html non funzionante consente a uno sviluppatore che ha visto il rendering letterale in un client di posta elettronica o in un browser legacy di valutare la prova della portabilità dell'apostrofo e la prova della portabilità dell'apostrofo senza tirare a indovinare.
Esempio funzionante: escape di una stringa tra virgolette per HTML e per XML — ' come risposta portatile
Esempio funzionante: escape di una stringa tra virgolette per HTML e per XML — ' come risposta portatile. Per la citazione letterale ASCII di Tom in input in "Tom's", l'escape produce Tom's. La decodifica di Tom o di Tom restituisce lo stesso semplice carattere apostrofo.
Posiziona l'esempio elaborato con l'escape di una stringa tra virgolette per, html e xml fianco a fianco durante la verifica della portabilità dell'apostrofo. Uno sviluppatore che ha visto ' reso letteralmente in un client di posta elettronica o in un browser legacy può quindi decidere se 39 come portatile è stato modificato al momento della conversione o downstream. Mantenere la conclusione html non funzionante sulla risposta fuori dalle dichiarazioni di sicurezza generiche.
Ciò che questo non copre: i motori di rendering del client di posta elettronica in dettaglio
Ciò che questo non copre: i motori di rendering del client di posta elettronica in dettaglio. I motori dei client di posta variano e non sono catalogati qui. Il test della matrice client effettiva rimane necessario quando il vecchio software di rendering è un requisito del prodotto.
Definire cosa non fa prima di eseguire la portabilità dell'apostrofo. Salva il rendering del client di posta elettronica di copertina come controllo, esamina in dettaglio i punti di codice dietro i motori e mappa le prove di portabilità dell'apostrofo all'interprete successivo. Ciò rende la prova della portabilità dell'apostrofo verificabile per uno sviluppatore che ha visto ' reso letteralmente in un client di posta elettronica o in un browser legacy che indaga su ' HTML non funzionante.
Conclusione: preferisco ' quando la portabilità conta: come il decodificatore dell'escape di entità HTML legge entrambe le forme in un semplice apostrofo
Conclusione: preferire ' quando la portabilità è importante: il modo in cui il decodificatore dell'escape di entità HTML legge entrambe le forme in un semplice apostrofo. Preferisco ' quando è importante la portabilità ampia di HTML, corrispondente all'output di ToolAcre. La scelta è rappresentativa; non rende sicuro un attributo, uno script o un'espressione SQL di per sé.
Connetti il takeaway preferisce 39 quando a un output di portabilità dell'apostrofo osservabile. Mantieni la portabilità importante in che modo accanto al risultato a passaggio singolo, quindi verifica dove l'escape di entità html entra nel decodificatore legge entrambi i moduli. Uno sviluppatore che ha visto il 'renderizzato letteralmente in un client di posta elettronica o in un browser precedente può ora tornare a una semplice ricerca 'non funzionante'. La decisione pratica alla base di questo articolo è specifica: ' è una delle cinque entità predefinite di XML ma era assente da HTML 4, quindi i browser più vecchi e alcuni client di posta elettronica lo stampano letteralmente. Questo post spiega la divisione, quando HTML l'ha finalmente adottata e perché rimane la scelta sicura. L'azione del lettore è altrettanto concreta: si collega all'escape dell'entità HTML e mostra la decodifica di ' e ' nello stesso carattere, con un puntatore alla pagina degli strumenti per come eseguire l'escape delle virgolette.