在 Javascript 中删除或隐藏文本区域中的 html 标签

问题描述 投票:0回答:3

我使用 json 检索了文本区域的正文,但由于之前已设置了一些样式,因此文本似乎带有 html 标签。

在这些 html 标签不可见的情况下,我如何能够在新的文本区域上显示这些文本行?我不想完全摆脱它们,因为我仍然想保留这些样式以供将来使用。

javascript html json textarea
3个回答
2
投票

您需要从文本区域传入的字符串中转义 html 标签。通过像

/<(.|\n)*?>/
这样的正则表达式,您可以找到开始 html 标签,使用
/<(\/.|\n)*?>/
您可以找到结束标签。

这是我的例子:

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />

</head>
<body>
  <textarea id="input">
    <p>This is html</p>
  </textarea>
  <textarea id="output">

  </textarea>

JavaScript

var input = document.getElementById('input'),
    output = document.getElementById('output');
output.value = input.value.replace(/<(.|\n)*?>/, '').replace(/<\/(.|\n)*?>/, '');

住在:JSBin

您可能想使用以下正则表达式检测像

/>
这样的结束标签:
/\/(.|\n)*?>/


1
投票

textarea{width:100%;min-height:75px}
<textarea id="input">
    <p>This is html</p>
    <p>This is html</p>
    <p>This is html</p>
</textarea>

<button onClick="removeTags()">Remove</button>

<textarea id="output"></textarea>

<script>
function removeTags(){
  var input = document.getElementById('input');
  var output = document.getElementById('output');
  output.value = input.value.replace(/(<([^>]+)>)/ig,"");
}
removeTags();
</script>


-5
投票

有趣 好的,ayy bok kakodfdfsdhfjksdfhsjdk fhsdjfh sdjkfhsdjkfhdskj

© www.soinside.com 2019 - 2024. All rights reserved.