JAVA中Html标签转换的问题。
发布网友
发布时间:2022-05-12 04:58
我来回答
共5个回答
热心网友
时间:2023-11-18 02:09
用正则,我找个自己用的代码给你。
private static String rep="<[\\s]*?script[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?script[\\s]*?>" +
"|<[\\s]*?div[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?div[\\s]*?>"+
"|<[\\s]*?style[^>]*?>"+
"|<[\\s]*?\\/[\\s]*?style[\\s]*?>"+
"|<[\\s]*?form[^>]*?>"+
"|<[\\s]*?\\/[\\s]*?forum[\\s]*?>"+
"|<[\\s]*?input[^>]*?>"+
"|<[\\s]*?\\/[\\s]*?select[\\s]*?>"+
"|<[\\s]*?<marquee [^>]*?>"+
"|<[\\s]*?\\/[\\s]*?<marquee [\\s]*?>" +
"|<[\\s]*?ul[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?ul[\\s]*?>" +
"|<[\\s]*?li[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?li[\\s]*?>" +
"|<[\\s]*?div[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?div[\\s]*?>" +
"|<[\\s]*?table[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?table[\\s]*?>" +
"|<[\\s]*?tr[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?tr[\\s]*?>" +
"|<[\\s]*?td[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?td[\\s]*?>" +
"|<[\\s]*?th[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?th[\\s]*?>";
/**
* 去掉危险的代码[div][style][form][input][script][ul][li][table][tr][td][th]
* @param content
* @return
*/
public static String removeDangerTag(String content){
Pattern p = null;
Matcher m = null;
p = Pattern.compile(rep,Pattern.CASE_INSENSITIVE);//去掉危险的HTML
m = p.matcher(content);
String temp = m.replaceAll("");
return temp;
}
//-----------按照你的要求,吧相应的p加入到正则匹配中
private static String rep="<[\\s]*?script[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?script[\\s]*?>" +
"|<[\\s]*?div[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?div[\\s]*?>"+
"|<[\\s]*?style[^>]*?>"+
"|<[\\s]*?\\/[\\s]*?style[\\s]*?>"+
"|<[\\s]*?form[^>]*?>"+
"|<[\\s]*?\\/[\\s]*?forum[\\s]*?>"+
"|<[\\s]*?input[^>]*?>"+
"|<[\\s]*?\\/[\\s]*?select[\\s]*?>"+
"|<[\\s]*?<marquee [^>]*?>"+
"|<[\\s]*?\\/[\\s]*?<marquee [\\s]*?>" +
"|<[\\s]*?ul[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?ul[\\s]*?>" +
"|<[\\s]*?li[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?li[\\s]*?>" +
"|<[\\s]*?div[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?div[\\s]*?>" +
"|<[\\s]*?table[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?table[\\s]*?>" +
"|<[\\s]*?tr[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?tr[\\s]*?>" +
"|<[\\s]*?td[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?td[\\s]*?>" +
"|<[\\s]*?p[^>]*?>" + //这里加入了p标签
"|<[\\s]*?\\/[\\s]*?p[\\s]*?>" +
"|<[\\s]*?th[^>]*?>" +
"|<[\\s]*?\\/[\\s]*?th[\\s]*?>";
热心网友
时间:2023-11-18 02:09
1、replace标签替换.
2、正则处理。
Today is Sunday.<br>Tomorrow will be Monday.
可以replace<br>为"\n"
热心网友
时间:2023-11-18 02:10
String s="<body><p>asdsadsadasda</p></body>";
System.out.println(s.replace("<p>", "").replace("</p>", ""));
替换之前不需要判断。
replace和replaceAll
都是全部替换。区别是replaceAll支持正则表达式
如s.replaceAll("\\d","");将s字符串的所有数字全部去掉
热心网友
时间:2023-11-18 02:10
用java里面的正则表达式来匹配标签。
比较复杂了,自己可以研究一下。
热心网友
时间:2023-11-18 02:11
你题目什么意思?不懂啊?说明白?是说用java输出html代码?还是什么意思?追问就是比如说有一个html文件,
是这样的,
Today is Sunday.Tomorrow will be Monday.
然后让你在java里新建一个output file,
输出的格式应该是
Today is Sunday.
Tomorrow will be Monday.
应该怎么写java程序?用户输入的文件中,遇到这样的标签,就执行这样的代码?
追答你是要写html解析器啊?这个有点麻烦,我就不管了。