你如何在textarea输入中删除html标签

sge*_*tim 9 html javascript css jquery

我已经设置了一个小的Web应用程序,您可以在其中添加post-it到页面.这只是一个帮助更好地学习JavaScript/jQuery的项目,它似乎是一个合适的项目(我是JS/jQuery的新手).

这是小提琴:http://jsfiddle.net/mitchbregs/mWaPz/

我找到了这个网站:http://www.hscripts.com/scripts/JavaScript/remove-html-tag.php

我实现了代码:

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

它仍然无法正常工作.

问题:我需要它,以便当有人将文本输入到textarea时,如果他们输入类似这样的东西,<b>Hi</b>它会<b>从输入中删除" "标记并只保留文本.

如果有人可以帮我解决这个问题,那就太棒了..谢谢!

Joã*_*lva 14

var textAreaValue = "text <br /> more text";
var strippedText = $("<div/>").html(textAreaValue).text();?
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴.


Eri*_*ric 11

你有三个问题:一个是方法没有正确返回(这是谁编写它的错误).接下来是您要在其中定义方法$(document).ready(),因此无法找到它(至少在Chrome中).第三,你没有以正确的方式称呼它(onSubmit这里永远不会使用它).

我使用了@ Joao的方法(所以你应该回答他的答案)并使用这个方法,移到ready()函数之外:

function stripHTML(str){
  var strippedText = $("<div/>").html(str).text();
  return strippedText;
}?
Run Code Online (Sandbox Code Playgroud)

并且在这里也称它为:

var post = stripHTML($(".text_input").val())
Run Code Online (Sandbox Code Playgroud)

这是工作小提琴:http://jsfiddle.net/ee3MH/


Pet*_*bev 6

function stripHTML(text){
   var regex = /(<([^>]+)>)/ig;
   return text.replace(regex, "");
}
// USE: var str = stripHTML('<b>test</b>');
Run Code Online (Sandbox Code Playgroud)

演示:http: //jsfiddle.net/pisabev/eJzfw/3/