java過濾html標簽
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);
}
}
2. java正則表達式過濾html p標簽
用JavaScript方法如下,JAVA語言類似:
'你的HTML文本'.replace(/.+>(.+)<.+/,'$1')
3. 用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>。
4. 用java去除掉這段代碼的HTML標簽
public static String HtmlText(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標簽
/* 空格 —— */
// p_html = Pattern.compile("\\ ", Pattern.CASE_INSENSITIVE);
m_html = p_html.matcher(htmlStr);
htmlStr = htmlStr.replaceAll(""," ");
textStr = htmlStr;
}catch(Exception e) {
}
return textStr;
}
傳你的字元串進去看看,可以的話加分,謝謝
5. java正則表達式去除html標簽保留指定標簽
String reg = "<\\/?html[^>]*>";
String html = "";
html.replaceAll(reg,"");
6. java 移除html標簽的屬性
針對於你提的問題,如果想去掉class和style屬性必須對所需要去掉屬性的標簽增加id
以你提供的代碼為例,首先需要增加id屬性,修改後如下:
<div class="content" id=「testdiv」>
<div id="t1">
文本1
</div>
<p class="bbb" id=「testp」>
文本2.....<font color='#00000'>文本3</font><span style="line-height:24px;">文本4</span>
</p>
</div>
然後編寫對應js代碼,代碼如下:
function delClass(){
$("#testdiv").removeClass("content");
$("#testp").removeClass("bbb");
}
上述代碼可以去除Class
註:
如果程序為進入頁面後調用則需要在body中增加onload方法也就是:onload="delClass();"
如果為點擊式觸發則在頁面增加按鈕,對按鈕總方法onClick方法指定刪除的js方法
希望回答對你有用。