Maison  >  Questions et réponses  >  le corps du texte

Tutoriel Python : Méthode de fractionnement pour résoudre le problème de position superposée

<p>Mon objectif est de diviser les positions qui se chevauchent pour les utiliser en HTML. Par exemple, j'ai ce texte : </p> <blockquote> <p>Un Deux Trois</p> </blockquote> <p>Je souhaite que les deuxième et troisième mots soient en gras et que les deux premiers mots soient en italique. On obtient ce résultat : </p> <pre class="brush:php;toolbar:false;">[ { "start": 4, "end": 13, "markup": "BOLD" }, { "start": 0, "end": 7, "markup": "ITALIC" } ]≪/pré> <p>Si l'on souhaite appliquer les balises HTML par position, on obtient ce résultat : </p> <pre class="brush:php;toolbar:false;"><bold>Un <em>Deux</bold> Trois</em></pre> <p>Vous voyez le chevauchement ? <code><em></code>la balise d'ouverture est interrompue par la balise de fermeture <code></bold></code> Cela devrait ressembler à ceci : </p> <pre class="brush:php;toolbar:false;"><bold>un<em>deux</em></bold><em>trois</em></ pre> <p>et emplacement : </p> <pre class="brush:php;toolbar:false;">[ { "start": 4, "end": 7, "markup": "BOLD" }, { "start": 7, "end": 13, "markup": "BOLD" }, { "start": 0, "end": 7, "markup": "ITALIC" } ]≪/pré> <p>P.S. Ne vous inquiétez pas du changement de position d'origine après l'application du balisage. J'ai écrit une bonne solution. </p> <p>J'ai essayé de mettre en œuvre certaines solutions, mais cela semble être une tâche difficile pour moi. </p>
P粉063039990P粉063039990433 Il y a quelques jours437

répondre à tous(1)je répondrai

  • P粉651109397

    P粉6511093972023-08-14 13:17:00

    Vous pouvez corriger automatiquement la structure HTML à l'aide de l'API Javascript DomParser

    const res = (new DOMParser())
        .parseFromString(
            "<bold>One <em>two</bold> three</em>",
            "text/html"
        );
    console.log(res.body.innerHTML)

    répondre
    0
  • Annulerrépondre