① 新闻小偷将一个网页的HTML代码拿来后,如何过滤了只剩文字信息
TextForever(FineReader) 版本:1.54 评价:★★★★
http://www.comicer.com/stronghorse/software/exe/TextForever_chn.zip
文件: 中文简体版 中文简体版说明 English版(其中说明文件还是中文的)
功能: 提供以下功能:HTML->TXT转换、文件合并、TXT文件段落合并、TXT文件分行、编码(GB/GBK/Big5/Shift-JIS/Unicode)转换(只能用于Win 2k/XP)、文本替换、HTML代码整理、文件切分、文本提取、正则表达式、TCR批量压缩/解压,用于整理从Internet上下载的小说。软件原名FineReader,后更名为TextForever。
动机: 我初上网时常去“阿拉谈书屋”看小说,网主无聊到将每一页做成一个文件(后来他也为此而后悔不已),看起来很累,所以就想编一个程序能对下载下来的文件进行合并、整理,变成TXT文件以便阅读、打印。
为了编制这个程序,我专门从Internet下载了一堆HTML文档,苦读半月。所以有一次我和一个朋友开玩笑:他通过做主页练HTML,我则通过读主页练,大家殊途同归。
说起来“阿拉谈书屋”对我所起的作用实在不小,不仅将我引进了Internet的大门,还为我学习Internet编程提供了强大的动力,先后产生了CrazyReader和TextForever(FineReader)。
这个程序的段落合并功能则是在我对在网上大肆吹嘘的某“智能排版”工具感到极端厌烦的情况下做出来的,保证比它好使。
② 如何用正则表达式提取网页源码中内容,一定要过滤html标签!重酬~
数据采集技术中,用正则最为基本和简单,然而经常出错,网路上有很多现成内的采集器,或者采集代码类容库,比如我采集的时候,用php+simpleHtmlDom,或者用任何一种语言+xpath,都可以把html加载成DOM树,然后访问需要的数据
③ 一套程序提交信息时把html部分代码过滤了,怎么写才不会被过滤了
就看他的过滤是本地过滤还是服务器过滤了,本地过滤的话一般用的是脚本过滤,只要在本地禁用脚本就可以,如果是服务器端过滤的话那就没办法了,你只有找其他方法将他的服务器权限搞到手,将他的服务器网页程序改掉才行。
④ 写一段js代码过滤一段内容的里html代码
缺少你的代码可参照,看不到问题
⑤ 输出数据时,如何过滤html代码
这个方法在网上很流行的,你看看
<%
Function RemoveHTML(strHTML)
Dim objRegExp, Match, Matches
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
'取闭合的<>
objRegExp.Pattern = "<.+?>"
'进行匹配
Set Matches = objRegExp.Execute(strHTML)
' 遍历匹配集合,并替换掉匹配的项目
For Each Match in Matches
strHtml=Replace(strHTML,Match.Value,"")
Next
RemoveHTML=strHTML
Set objRegExp = Nothing
End Function
%>
⑥ 如下代码,如何将内容中的HTML过滤掉。Content内容
让我来猜猜看,你是不是需要这个。 Function RemoveHTML(strHTML) Dim objRegExp, Match, Matches Set objRegExp = New Regexp objRegExp.IgnoreCase = True objRegExp.Global = True '取闭合的<> objRegExp.Pattern = "<.+?>" '进行匹配 Set Matches = objRegExp.Execute(strHTML) ' 遍历匹配集合,并替换掉匹配的项目 For Each Match in Matches strHtml=Replace(strHTML,Match.Value,"") Next RemoveHTML=strHTML Set objRegExp = Nothing End Function
⑦ 怎样用js方法过滤html等代码
^<input type="text" id="theOne" value="">
<input type="button" onclick="NoHtml()" value="过滤html标签">
<script>
function NoHtml(){
var t=document.getElementById("theOne").value;
t=t.replace(/({|})/g,''); //过滤{}
t=t.replace(/</g,'<'); //置换符号<
t=t.replace(/>/g,'>'); //置换符号>
// t=t.replace(/<\/?[^>]*>/g,''); //*<\/?[^>]*>可以匹配<script></style></body>等,并置空。而不是替内换容<和>两个符号
document.getElementById("theOne").value=t;
}
</script>
⑧ 如何绕过html代码过滤
一般情况下你都绕不过!
除非是那种很傻的网站,只在前台用js过滤内,服务器端没过滤的网站程序,这种你直接通过容地址栏把数据提交出去就行了,不过这种很傻的网站这个年代基本上找不到了。
看样子你是想到论坛发东西,现在的论坛你没机会,html过滤和访注入都做得很到位了。
⑨ 怎样用js方法过滤html等代码,如@
关键点制:
正则表达式,把要替换的内容用正则表达式表达出来,如字符串、数字、字母中文、标点符号等。
replace() 方法,用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
上代码:
<html>
<head>
<title>无标题文档</title>
<metacharset="UTF-8">
</head>
<body>
<divid="main">文章内容@文章内容,文章内容@文章内容</div>
</body>
<script>
//获取标签中文本
vardoj_str=document.getElementById('main').innerText;
//要替换的字符串,最后的g表示全局匹配,例如又多个@
varreg_str=/@/g;
//替换为空
varnew_str=doj_str.replace(reg_str,'');
//输出新字符串
document.write(new_str);
</script>
</html>
⑩ 过滤除表格以外的所有html代码,如何实现
public static string NoHTML(string Htmlstring)
{
//删除脚本
Htmlstring=Htmlstring.Replace("'", "'");
Htmlstring = Regex.Replace(Htmlstring, @" <script[^>]*?>.*? </script>", "",RegexOptions.IgnoreCase);
//删除HTML 下面一行删除,涉及到表格里面的table tr td
//Htmlstring = Regex.Replace(Htmlstring, @" <(.[^(table|tr|td|>)]*)>", "",RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "",RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @" <!--.*", "", RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"",RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&",RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", " <",RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">",RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ",RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1",RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2",RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3",RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"&(|#169);", "\xa9",RegexOptions.IgnoreCase);
Htmlstring = Regex.Replace(Htmlstring, @"(\d+);", "",RegexOptions.IgnoreCase);
Htmlstring.Replace(" <", "");
Htmlstring.Replace(">", "");
Htmlstring.Replace("\r\n", "");
Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();
return Htmlstring;
}
上面已经修改,只用取消Htmlstring = Regex.Replace(Htmlstring, @" <(.[^(table|tr|td|>)]*)>", "",RegexOptions.IgnoreCase); 这一个就行了。