『壹』 c语言程序填空:将html文件中的htm标记过滤掉
11 "w"
12 fgetc(fin)
13 sc
14 fgetc(fin) == '\n'
15 fclose(fin)
『贰』 html的文件域标签使用时怎么过滤文件后缀
好像是不可以,只能在上传的时候检测是不是符合你设定的类型,不过这种检测一般是放在服务器端做的,放在客户端做不安全
『叁』 用HTMLParser过滤掉html中所有标签,留下标题正文等内容,java
现在的网页,取来title容易,要取到整齐的内源容,就麻烦了。既然是爬虫,又不可能针对每个页面都写一遍。所以,你能解决这问题,是高智商、是值钱的。
<title>和</title>可以认为是标题,用字符串的处理方法即
<content>和</content>不是标准的HTML,不能认为之间的文字就是内容 。虽然<body>和</body>是,可之间的内容也太乱了。
『肆』 我有一个页面a.html,把它里面的内容读取到b.text中,我如何过滤掉<html></html>和<body></body>呢
String data="";
BufferedReader br;
BufferedWriter bw;
StringBuffer sb=new StringBuffer();
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(path+"\\"+"a.html")));
while((data = br.readLine())!=null){
String str=data.replaceAll("[<body><html>]", "");//这里是把<body><html>的标签都替换为空
sb.append(str);
if(!str.equals("")||str.length()>0)
sb.append("\r\n"); //这里是如果字符串的长度大于0或者不等于空就换行
}
bw=new BufferedWriter(new FileWriter(new File(path+"\\"+"a.txt");
bw.write(sb.toString());//将读出来的内容写入a.txt文件
bw.flush();
bw.close();
}
} catch (Exception e) {
e.printStackTrace();
}
『伍』 web.xml lt;filter-mapping>我不想过滤html文件,怎么设置
不使用 /* 拦截所有,拦截想拦截的就可以了
类似下面的过滤方式
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.usl</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.view</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/jaxrs/*</url-pattern>
</filter-mapping>
在filter类中判断一下,如果是.html结尾的就不过滤。
HttpServletRequest req = (HttpServletRequest)request;
//由于web.xml中设置Filter过滤全部请求,可以排除不需要过滤的url
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);
HttpServletRequest req = (HttpServletRequest)request;
//由于web.xml中设置Filter过滤全部请求,可以排除不需要过滤的url
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);
chain是以下过滤方法中的chain吗?
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException{
另外, if(reqURI.endsWith(".html")) 到底是 真还是假
HttpServletRequest req = (HttpServletRequest)request;
//由于web.xml中设置Filter过滤全部请求,可以排除不需要过滤的url
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);
chain是以下过滤方法中的chain吗?
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException{
另外, if(reqURI.endsWith(".html")) 到底是 真还是假
就是这个chain,这个判断就是判断你放问的路径是否以.html结尾,你可以试试。
HttpServletRequest req = (HttpServletRequest)request;
//由于web.xml中设置Filter过滤全部请求,可以排除不需要过滤的url
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);
chain是以下过滤方法中的chain吗?
public void doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain) throws IOException, ServletException{
另外, if(reqURI.endsWith(".html")) 到底是 真还是假
就是这个chain,这个判断就是判断你放问的路径是否以.html结尾,你可以试试。
报错
java.lang.IllegalStateException: getWriter() has already been called for this response
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
//把ServletRequest和ServletResponse转换成真正的类型
HttpServletRequest req = (HttpServletRequest)request;
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".do")) chain.doFilter(request, response);
System.out.println(reqURI);
chain.doFilter(request, response);
}
我这里用过的原代码,没错,你看下你别的地方,用到response的地方
//把ServletRequest转换成真正的类型
HttpServletRequest req = (HttpServletRequest)request;
String reqURI = req.getRequestURI();
if(reqURI.endsWith(".html")) chain.doFilter(request, response);
else{
return;
}
『陆』 web.xml lt;filter-mapping>我不想过滤html文件,怎么设置
你可以设置想过滤源的动作,这样就不过滤html了。比如下面这样:
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.usl</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
『柒』 java(从html文件中提取标签之外的文本)
实现代码如下:
public static String Html2Text(String inputString){
String htmlStr = inputString; //含html标签的字符串
String textStr ="";
java.util.regex.Pattern p_script;
java.util.regex.Matcher m_script;
java.util.regex.Pattern p_style;
java.util.regex.Matcher m_style;
java.util.regex.Pattern p_html;
java.util.regex.Matcher m_html;
try{
String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>"; //定义的正则表达式{或<script[^>]*?>[\\s\\S]*?<\\/script> }
String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>"; //定义style的正则表达式{或<style[^>]*?>[\\s\\S]*?<\\/style> }
String regEx_html = "<[^>]+>"; //定义HTML标签的正则表达式
p_script = Pattern.compile(regEx_script,Pattern.CASE_INSENSITIVE);
m_script = p_script.matcher(htmlStr);
htmlStr = m_script.replaceAll(""); //过滤script标签
p_style = Pattern.compile(regEx_style,Pattern.CASE_INSENSITIVE);
m_style = p_style.matcher(htmlStr);
htmlStr = m_style.replaceAll(""); //过滤style标签
p_html = Pattern.compile(regEx_html,Pattern.CASE_INSENSITIVE);
m_html = p_html.matcher(htmlStr);
htmlStr = m_html.replaceAll(""); //过滤html标签
textStr = htmlStr;
}catch(Exception e){
Manager.log.debug("neiNewsAction","Html2Text: " + e.getMessage());
}
return textStr;//返回文本字符串
}
『捌』 html中的file控件
好像是因为浏览器兼容的问题,这个代码在IE是可行的,不过那个VALUE是值版里面的LOGO要单引吧。权。。。网上有关于FILE兼容的解决方案。
http://www.jb51.net/html5/65634.html
『玖』 web.xml lt;filter-mapping>我不想过滤html文件,怎么设置
你可以设置想源过滤的动作,这样就不过滤html了。比如下面这样:
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.usl</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
『拾』 php文件输出如何过滤掉html,代码如下
<b>asasasas</b>这个html标签是加粗标签,如果你想在浏览器上显示的是版加粗的asasasas就直接输出
<?php
echo "<b>asasasas</b>";
?>
如果你想输权出的<b>asasasas</b>这个字符串的话呢
<?php
echo htmlspecialchars("<b>asasasas</b>");
?>