0
votes

Comment supprimer la paire des étiquettes d'élément XML ultra-uplore à l'aide de JavaScript?

Si j'ai une chaîne de: xxx

Je veux retirer la paire la plus externe, dans ce cas, le premier

et le dernier , de la chaîne de JavaScript Telle que le résultat sera une chaîne de: xxx

Comment ferais-je cela? J'ai essayé avec regex et jQuery mais je ne peux pas le faire de manière à ce que l'autre

et ne soit pas supprimé.

Merci. >


3 commentaires

n'est pas valide HTML. Sur HTML valide, vous pouvez utiliser $ (str) .html ()


@ User863 merci, laissez-moi éditer cela.


@ User863 Le problème est qu'il supprime toutes les balises interne

ainsi que pour lesquelles je ne veux pas. Je veux seulement retirer les balises extérieures

. Le résultat de votre pièce est: ABCDEFG ABCDEFG


3 Réponses :


1
votes

ici :

p>

const regex = /<(?<tag>\w+)>(?<content>.*)<\/\k<tag>>/;

const str = '<p> Abcdefg <note> abcdefg <p> abcdefg </p> <p> abcdefg </p> </note> </p>';

const result = str.replace(regex, '$2');

console.log(result);


0 commentaires

1
votes

function remove_tag(text, tag) {
  const regex = new RegExp(`^<${tag}>|</${tag}>$`, 'g');
  return text.replace(regex, "").trim();
}

let text = "<p> Abcdefg <note> abcdefg <p> abcdefg </p> <p> abcdefg </p> </note> </p>";
const result = remove_tag(text, "p");
console.log(result);


0 commentaires

2
votes

Seuls les contenus de phrasé sont valides à l'intérieur P code> étiquette.

Contenu de phrasé disponible p>

envisagez d'avoir Valide HTML P>

P>

var str = '<p> Abcdefg <note> abcdefg <p> abcdefg </p> <p> abcdefg </p> </note> </p>'

var res = str.replace(/\<(.*?)\>(.*)\<\/(\1)\>/g, '$2')

console.log(res)


0 commentaires