recherche

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

javascript - problème de remplacement régulier de js

<!DOCTYPE html>
<html>
<head>
    <title>内容</title>
</head>
<body>
中文
<p>内容<i>内容</i></p>
</body>
</html>

Remplacez le contenu de la balise par

<!DOCTYPE html>
<html>
<head>
    <title>{{#内容#}}</title>
</head>
<body>
{{#中文#}}
<p>{{#内容#}}<i>{{#内容#}}</i></p>
</body>
</html>

Comment écrire la solution régulière ?

高洛峰高洛峰2734 Il y a quelques jours970

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

  • PHP中文网

    PHP中文网2017-07-05 10:57:03

    Premièrement, si vous avez appris les principes de la compilation, vous saurez que les expressions régulières ne sont pas capables de traiter des structures de données imbriquées. En d'autres termes, si vous souhaitez satisfaire à l'exigence de [sélectionner la première balise i du p imbriqué dans le corps] via une expression régulière, cela n'est en principe pas réalisable.

    Deuxièmement, vous avez affaire à un texte DOM structuré, vous pouvez donc utiliser la méthode parseHTML de jQuery pour y parvenir. L'objet obtenu après avoir passé l'analyse jQuery peut utiliser $ pour sélectionner davantage des nœuds tels que p ou i. Cela peut résoudre votre problème de remplacement de texte de manière simple et efficace.

    Si vous êtes sur le serveur Node, remplacez simplement jQuery par cheerio.

    répondre
    0
  • PHP中文网

    PHP中文网2017-07-05 10:57:03

    Si vous souhaitez uniquement remplacer dans le texte de test actuel que vous avez donné, car la situation est relativement simple, il vous suffit d'écrire une correspondance régulière comme ([u4e00-u9fa5]+) et de la remplacer par {{#$1#}}

    répondre
    0
  • Annulerrépondre