直接用strip_tags这个函数去掉HTML 标记
用正则去掉呗:<(\S*?)[^>]*>.*?</\1>|<.*?\s*/>
能给个稍微具体点的不?
<!-- JavaScript -->
<script type="text/javascript">
<!--
var s = "<span style='display:none;'>This is test</span>";
s = s.replace(/<[^>].*?>/g,"");
alert(s);
//-->
</script>
这弹出的不是一个对话框啊?
用jQuery:
function filter(){
var html=$($("#test").val());
$("#test").val(html.text());
}
HTML:
<textarea id="test" rows="5" cols="50"><h1 style="color:blue;"><span style="background-color:yello;"><span style="text-decoration:underline;">fsdafadsffdsa</span></span></h1></textarea>
<input type="button" onclick="filter()" value="Filter"/>
我的原来的意思是:怎样从数据库中查询出来的数据放在<textarea>中不显示HTML标签
就上面的那两张图,我要的是从数据库中查询出第二张图片的效果,而不是第一张。(数据库里面的数据本身就带有HTML标签!)
@as、: 这样的话两种方案
方案一:
用正则去掉HTML:
public static string regularExpressionsOfHTML(string TempContent)
{
TempContent = System.Text.RegularExpressions.Regex.Replace(TempContent,"<[^>]+>",""); //任意多个
return TempContent;
}
或用JS,这个跟楼上的差不多
方案二:
先在文本框中显示带HTML标记的内容,然后调用上面给出的JS方法过滤掉
<textarea id ="txtTest" runat ="server" cols="50" rows ="5" ></textarea>
后台赋值方法:
string content=System.Text.RegularExpressions.Regex.Replace(mes, "<(S*?)[^>]*>", "");
txtTest.value=content;
学习了。。。
Jquery
jQuery(function ()
{
var tx= $("#divtest").text();
$("#test").val(tx);
});
html
<textarea id="test" rows="5" cols="50"></textarea><input
type="button" onclick="filter()" value="Filter"/>
<div style="display:none;" id="divtest"><h1 style="color:blue;"><span style="background-color:yello;">
<span style="text-decoration:underline;">fsdafadsffdsa</span></span></h1></div>
不错