導航:首頁 > 凈水問答 > 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代碼相關的資料

熱點內容
原電池陰離子去負極 瀏覽:99
wq污水提升泵的型號 瀏覽:874
兩個女孩在火車上比賽的電影 瀏覽:638
姐妹之掙懷孕是什麼電影 瀏覽:152
台港3級電影有哪些 瀏覽:935
穿越民國二道販子的小說 瀏覽:267
狐狸精電影 瀏覽:493
反滲透海水淡化半透膜是什的材料 瀏覽:131
byd空調濾芯怎麼看 瀏覽:717
凈水器顯示檢修如何取消 瀏覽:277
十大電影網站推薦 瀏覽:291
美國喪屍帶黃色的 瀏覽:93
在線免費看的那種網址 瀏覽:769
水廠污水池清理多少錢 瀏覽:154
污水處理發票什麼公司可以開 瀏覽:882
那個網站看劇沒有廣告 瀏覽:30
維語電影大全免費看 瀏覽:835
免費下載mp4格式的網站 瀏覽:727
逼近微電影哪裡可以看 瀏覽:187
韓國電影有個叫什麼天使 瀏覽:126