Produire ou relire un fragment

Préparez des fragments pour du code JavaScript existant ou retrouvez le contenu d’appels littéraux à document.writeln. Le traitement se fait dans le navigateur et la sortie reste du texte, sans rendu des balises.

  1. Collez <p>Été</p> puis choisissez HTML vers JavaScript. Vous obtenez un appel document.writeln avec une chaîne entre guillemets. Le caractère < est écrit \u003c, sans changer sa valeur dans la chaîne.
  2. HTML vers tableau de chaînes crée un élément par ligne. Deux lignes A et B donnent un tableau contenant "A" et "B".
  3. Avec JavaScript vers HTML, document.writeln("A");document.writeln("B"); donne A, un saut de ligne, B et un saut final. Copiez le résultat ; modifier la saisie efface l’ancienne sortie.

Ce que signifient les lignes et les chaînes

writeln ajoute toujours un LF

À la génération, les fins de ligne CRLF et CR sont normalisées en LF. Une ligne vide finale produit aussi un appel. A écrit donc A suivi d’un LF ; A déjà suivi d’un LF écrit A suivi de deux LF.

La conversion inverse reconstitue le texte écrit, pas la présentation du code source. Une saisie JS vide donne un texte vide ; document.writeln("") donne un LF. Le tableau n’ajoute pas de sauts dans ses éléments : les joindre avec \n restitue la saisie normalisée.

Un analyseur lit uniquement les appels autorisés

Chaque instruction doit être un appel direct à document.writeln avec une seule chaîne entre guillemets simples ou doubles. Les séquences d’échappement sont décodées sans exécution. Les espaces et commentaires entre appels sont admis.

Les variables, concaténations, littéraux de gabarit, tableaux, appels document.write et accès entre crochets sont refusés. Retirez les balises script qui entourent le code. Les références HTML comme &amp; restent sous leur forme textuelle.

L’échappement ne nettoie pas le HTML

Guillemets, apostrophes, barres obliques inverses et caractères de contrôle conservent leur valeur grâce à l’échappement JavaScript. Échapper < empêche une balise script fermante littérale dans le code produit, mais ne supprime aucun attribut du HTML décodé.

L’outil ne valide ni n’assainit le HTML. Exécuter document.writeln ailleurs peut insérer du HTML actif ou remplacer un document chargé. Cette ancienne API est déconseillée pour du nouveau code DOM. Ici, aucune exécution du fragment ni requête de conversion contenant la saisie n’a lieu.

Questions sur la conversion

Puis-je obtenir le HTML produit par n’importe quel programme ?

Non. Seuls les appels document.writeln pris en charge avec une chaîne littérale sont lus. Les fonctions et expressions ne sont pas évaluées.

Les apostrophes et les antislashs sont-ils conservés dans le tableau ?

Oui. O'Reilly et C:\temp gardent leurs caractères comme valeurs de chaînes. Les lignes vides sont aussi conservées ; CRLF et CR sont normalisés en LF.

Outils récents :