导航:首页 > 净水问答 > java过滤html代码

java过滤html代码

发布时间:2021-01-27 18:31:24

① Java中怎么样能过滤掉html中的javascript

一般的解决办法是将引号转换成全角的。
这样javascript代码就不能够正常运行了。。。

② 用java字符串方法去除HTML代码标签的问题

可以通过replaceAll方法进行字符串替换,之后替换的内容用正则表达式来匹配。举例

String ss="<div id='mini_nav_qq'><li><a target='_top' " +

专 "href='http:// lady.qq.com/emo/emotio.shtml'>情感</a></li><li>" +

"<a target='_top' href='http://lady.qq.com/beauty/beauty.shtml'>美容</a></li></div>";

String ss=ss.replaceAll("<(/?\S+)\s*?[^<]*?(/?)>","<$1$2>");//通过只保属留"<“后面的字符串,之后删除空格和后面的内容,快捷的实现去除操作(此方法通用于所有的标签去除,只需要传入不同的ss值)。

结果就是:<div><li><a>情感</a></li><li><a>美容</a></li></div>。

③ 用HTMLParser过滤掉html中所有标签,留下标题正文等内容,java

现在的网页,取来title容易,要取到整齐的内源容,就麻烦了。既然是爬虫,又不可能针对每个页面都写一遍。所以,你能解决这问题,是高智商、是值钱的。

<title>和</title>可以认为是标题,用字符串的处理方法即
<content>和</content>不是标准的HTML,不能认为之间的文字就是内容 。虽然<body>和</body>是,可之间的内容也太乱了。

④ 关于java,过滤html请求的Filter中跳转页面的问题。

肯定是逻辑问题
请把你的代码贴上来,可以分析 下。
if(包含某后缀名){
重定向
}
dofilter(...)

⑤ java正则表达式过滤html p标签

用JavaScript方法如下,JAVA语言类似:
'你的HTML文本'.replace(/.+>(.+)<.+/,'$1')

⑥ 【Java作业向】正则表达式过滤HTML标签

过滤HTML标签的Java正则表达式 (?s)<.*?/?.*?>

按照你的要求编写的用正则表达式过滤HTML标签的Java程序回如下

public class AA {

public String tagFilter(String s){

String regex = "(?s)<.*?/?.*?>";

String ss=s.replaceAll(regex,"");

return ss;

}

public static void main(String[] args) {

String s="<div class="guid time online">测试答 abc</div><span data-url="games/details/" class="guid done">你好13548</span><a href="games/details/" class="guid">15个字母Abc</a><i class="icon-guid"/>";

String result=new AA().tagFilter(s);

System.out.println(result);

}

}

⑦ 在Java截取字符串的时候,如何过滤掉html标签

去除html标签
function
strip_tags($string,
$replace_with_space
=
true)
{
if
($replace_with_space)
{
return
preg_replace('!<[^>]*?>!',
'
',
$string);
}
else
{
return
strip_tags($string);
}
}
截取字符函数(匹配各种编码)
function
truncate($string,
$length
=
80,
$etc
=
'...',
$break_words
=
false,
$middle
=
false){
if
($length
==
0)
return
'';
if
(is_callable('mb_strlen'))
{
if
(mb_detect_encoding($string,
'utf-8,
iso-8859-1')
===
'utf-8')
{
//
$string
has
utf-8
encoding
if
(mb_strlen($string)
>
$length)
{
$length
-=
min($length,
mb_strlen($etc));
if
(!$break_words
&&
!$middle)
{
$string
=
preg_replace('/\s+?(\s+)?$/u',
'',
mb_substr($string,
0,
$length
+
1));
}
if
(!$middle)
{
return
mb_substr($string,
0,
$length)
.
$etc;
}
else
{
return
mb_substr($string,
0,
$length
/
2)
.
$etc
.
mb_substr($string,
-
$length
/
2);
}
}
else
{
return
$string;
}
}
}
//
$string
has
no
utf-8
encoding
if
(strlen($string)
>
$length)
{
$length
-=
min($length,
strlen($etc));
if
(!$break_words
&&
!$middle)
{
$string
=
preg_replace('/\s+?(\s+)?$/',
'',
substr($string,
0,
$length
+
1));
}
if
(!$middle)
{
return
substr($string,
0,
$length)
.
$etc;
}
else
{
return
substr($string,
0,
$length
/
2)
.
$etc
.
substr($string,
-
$length
/
2);
}
}
else
{
return
$string;
}
}
综合就是
$arc=strip_tags($arc);

⑧ java html字符过滤器

这是我看到一个不错的,自己看看吧

import java.util.regex.Pattern;
public class Test
{

public static void main(String[] args)
{
String ww="<html>sss<body>ss</body>ssss</html>";
String ff=html2Text(ww);
System.out.println(ff);
}
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的正则表达式{或<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) {
System.err.println("Html2Text: " + e.getMessage());
}

return textStr;
}
}

⑨ java 如何去除html中的一个指定标签和指定标签里的内容

你好,可以用正则表达式。比如想要去除id为test的div标签及其内容:
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Person{
public static void main(String[] args) {
//正则表达专式
Pattern p = Pattern.compile("<div.*id='test'.*</div>");
//测试用的html代码
String str = "<html><body>aa<div id='test'>bb</div></body></html>";
Matcher m = p.matcher(str);
//去除标签属
String result = m.replaceAll("");

System.out.println(result);
}
}

⑩ java 如何过滤html代码,只保留中文或英文及基本常用符号

很容易,首先建立一个字符串数组,也就是你需要过滤掉的html标签String[] filterArrays = new String[]{"<html>","</html>","<table>","</table>".....一系列内有关html标签的东西}

当你得到一容个html代码的字符串时你可以循环遍历上面的数组,然后调用String自带的方法replaceAll();
我给你简单的示范一下啊
String str = "dfgdgdfgdgd";//需要过滤的带有HTML标签的代码字符串
for(int i=0;i<filterArrays.length;i++){
if(str.indexOf(filterArrays[i])!=0){
str = str.replaceAll(filterArrays[i],"");//将html标签替换成了空格
}
}

这样就搞定了,主要是你需要在filterArrays中增加你需要过滤的字符串,当然还会有更好的办法,可以不用增加这样的数组,因为出现"<"必然会有">",或者"/>"这样的标签,但是这样做可能会将一些无关的也过滤掉了,总之两种方法都可以,第一种呢我都给你写了例子!祝你成功啊

阅读全文

与java过滤html代码相关的资料

热点内容
单相污水泵启动不了什么原因 浏览:247
私人塑料厂污水怎么处理 浏览:895
ro膜堵了 浏览:409
节能屠宰污水处理设备多少钱 浏览:198
污水出水外运考核办法 浏览:508
工藤瞳经典三部 浏览:79
昆钢师宗煤焦化有限公司污水处理 浏览:662
鱼缸里的过滤泵吸不住 浏览:687
滨州不锈钢污水提升器定制 浏览:676
欲望的代价法国 浏览:678
电影妈妈的房子高清 浏览:645
孕妇可以和蒸馏水 浏览:264
柒柒看剧网 浏览:743
pu滤芯为什么很软 浏览:650
屠宰场废水中bod浓度 浏览:610
房屋被污水泡要求赔付的诉求 浏览:427
jsy系列强磁除垢器 浏览:618
空调滤芯挡板密封怎么样 浏览:229
福安居净水器多少钱 浏览:288
公厕废水处理技术 浏览:521