如何在 textarea 输入中去除 HTML 标签

21 浏览
0 Comments

如何在 textarea 输入中去除 HTML 标签

我搭建了一个小的网络应用程序,在页面上添加便利贴。这只是一个帮助我更好地学习JavaScript/jQuery的项目,而且它看起来是一个合适的项目(我对JS/jQuery还不熟悉)。\n这是网址:http://jsfiddle.net/mitchbregs/mWaPz/\n我找到了这个网站:http://www.hscripts.com/scripts/JavaScript/remove-html-tag.php\n我按照以下方式实现了代码:\n

\n

function stripHTML(){
var re = /(<([^>]+)>)/gi;
for (i=0; i < arguments.length; i++)
arguments[i].value=arguments[i].value.replace(re, "")
}

\n

\n但是它仍然不起作用。\n问题是:当有人在文本区域中输入文本时,如果他们输入类似\"Hi\"这样的内容,它应该将\"\"标签从输入中去除,只保留文本。\n如果有人能帮我解决这个问题,那就太好了。谢谢!

0
0 Comments

在上述内容中,提到了一个问题:如何去除文本区输入中的HTML标签。问题的出现原因是当输入的文本中包含有HTML标签时,当前的解决方案不能正确处理。

为了解决这个问题,可以使用以下代码来去除HTML标签:

function stripHTML(text){
   var regex = /(<([^>]+)>)/ig;
   return text.replace(regex, "");
}
// 使用示例:var str = stripHTML('<b>test</b>');

你可以在jsfiddle上查看下面的链接以获得演示:http://jsfiddle.net/pisabev/eJzfw/3/。如果你能帮我在jsfiddle上实现一下,我将非常感激。

然而,当我在输入中添加<script></script>时,它失败了。

0
0 Comments

问题的原因是,用户想要在文本输入框中去除HTML标签,但是他们不想删除标签中的内容。在评论中,有些人认为应该删除标签及其内容,而另一些人认为应该只删除标签。由于问题描述不清晰,导致了混淆和误解。

解决方法是使用jQuery的html()和text()方法。在这段代码中,使用html()方法将文本输入框的值赋给一个div元素,然后使用text()方法获取div元素的文本内容。这样可以去除HTML标签,只保留纯文本。

以下是解决方法的代码:

var textAreaValue = "text <br /> more text";

var strippedText = $("<div/>").html(textAreaValue).text();

如果你在网站应用程序中使用jQuery,你可以在你的代码中实现这个方法。这样,用户在文本输入框中输入的内容将被去除HTML标签,只保留纯文本。

希望这个解决方法能帮助到你。如果你有任何其他问题,请随时提问。

0
0 Comments

问题的出现原因:方法没有正确返回,方法定义在$(document).ready()内部无法找到,方法的调用方式不正确。

解决方法:将方法移到$(document).ready()函数之外,并正确调用方法。使用stripHTML方法以及调用方法的代码如下:

function stripHTML(str){
  var strippedText = $("
").html(str).text(); return strippedText; } var post = stripHTML($(".text_input").val());

可以在这个链接上查看实际工作的fiddle:http://jsfiddle.net/ee3MH/

还有一个问题:删除标签的内容时会出错。你的fiddle实际上在我添加了你的更改后出现了错误。这里是包含你所做更改的完整代码:http://pastebin.com/raw.php?i=j0STwjAA

由于某种原因,在你的</script>标签之前有一个坏字符(在ASCII中显示为问号),在你的</style>标签之前也有一个,可能还有其他一些。一旦我删除了这些字符,我就可以正常运行你粘贴的整个脚本了。链接:http://pastebin.com/qASL40dz

这似乎是JavaScript中删除HTML标签最常用的方法(即使用浏览器引擎),但请记住,在IE8中,innerText和$.text()不会保留换行符\r\n,因此可能会严重干扰textarea的内容。

这实际上不是一种可靠的方法。它只会删除一个层级的标签,并且可能会调用任何嵌入的javascript。使用onkeyup和<script>alert(1)</script>进行测试,然后在开头添加<script>。它会在返回之前调用脚本。尤其是在对结束标签进行假设的地方。

0