`

过滤html标签__转转转

    博客分类:
  • java
阅读更多

package cn.java;

import java.util.regex.Pattern;

public class HTMLUtils {
         /**
          * @param str :
          *            source string
          * @param width :
          *            string's byte width
          * @param ellipsis :
          *            a string added to abbreviate string bottom
          * @return String Object
          * 
          */ 
         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; 
      
             java.util.regex.Pattern p_html1; 
             java.util.regex.Matcher m_html1; 
      
             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标签的正则表达式 
                 String regEx_html1 = "<[^>]+"; 
                 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_html1 = Pattern.compile(regEx_html1, Pattern.CASE_INSENSITIVE); 
                 m_html1 = p_html1.matcher(htmlStr); 
                 htmlStr = m_html1.replaceAll(""); // 过滤html标签 
      
                 textStr = htmlStr; 
      
             } catch (Exception e) { 
                 System.err.println("Html2Text: " + e.getMessage()); 
             } 
      
             return textStr;// 返回文本字符串 
         }
        
        public static void main(String[] args){
            String s = "<p>你好</p><script>alert(\"ok\");</script>";
            System.out.println(Html2Text(s));
        }    
}

分享到:
评论

相关推荐

    java正则表达式过滤html标签

    java正则表达式过滤html标签 java正则表达式过滤html标签是指使用java语言中的正则表达式来过滤html标签的操作。HtmlRegexpUtil这个工具类提供了多种过滤html标签的方法,包括过滤所有以"开头以"&gt;"结尾的标签、找出...

    C# 过滤HTML标签的几种方法

    根据提供的文件信息,本文将详细解释C#中用于过滤HTML标签的几种方法,并对每一步进行深入解析。此过程涉及正则表达式、字符串替换以及HTML实体编码转换等技术细节。 ### C#过滤HTML标签的方法 #### 方法一:使用...

    wxParse过滤HTML标签.rar

    "wxParse过滤HTML标签.rar"就是为了解决这个问题而提供的一个解决方案。 wxParse是一个强大的微信小程序富文本解析插件,它能够帮助开发者将HTML内容转换成小程序可以识别和渲染的格式。主要目标是过滤掉HTML标签,...

    过滤HTML标签类

    在IT行业中,过滤HTML标签是常见的数据处理任务,特别是在处理用户输入、数据分析或者网页抓取时。这个主题的标题“过滤HTML标签类”暗示我们将会探讨一个专门用于去除或处理HTML标签的类或库。这类工具通常用于确保...

    Java过滤器,字符过滤,标签过滤

    标签过滤则是为了防止HTML标签被恶意利用,比如XSS(跨站脚本攻击)。通过过滤或转义HTML标签,可以确保用户提交的内容不会执行任何有害脚本。在Java中,可以使用诸如OWASP Java Encoder库这样的工具来帮助安全地...

    JAVA过滤标签实现将html内容转换为文本的方法示例

    1. 使用正则表达式去掉HTML标签:在将html内容转换为文本时,需要去掉html标签,从而获取纯文本内容。可以使用正则表达式来实现该操作,例如去掉head标签、注释、样式、js代码、word标签、xml标签等。 2. 使用...

    C#使用正则表达式过滤html标签

    本篇文章将详细解释如何使用C#的正则表达式来过滤HTML标签,以便将HTML字符串转换为纯文本。 首先,我们需要了解HTML标签的基本结构。HTML标签通常由尖括号 `和 `&gt;` 包围,如 `&lt;div&gt;` 和 `&lt;/div&gt;`。一些特殊的标签...

    ASP 过滤HTML

    这种方法不仅可以过滤HTML标签,还可以将特殊字符转换为HTML实体,从而防止潜在的XSS攻击。 #### 七、扩展:JavaScript过滤 此外,还可以使用JavaScript来帮助过滤HTML标签: ```vbscript Function movejs(str) ...

    微信小程序、小程序html富文本转换插件、html富文本标签转换

    在微信小程序中,有时我们需要展示从服务器获取的HTML富文本内容,但微信小程序自身并不支持直接渲染HTML标签,这就需要用到特定的转换插件来处理。 本主题主要围绕“微信小程序html富文本转换”展开,讲解如何在...

    HTML代码过滤技术

    - 使用白名单策略:只允许特定的HTML标签和属性存在,而不是试图过滤掉所有有害元素,这种方法可以更有效地防止未知漏洞。 - 实时更新:定期更新过滤规则,以应对新的攻击手法和漏洞。 - 防护XSS攻击:除了过滤外...

    PHP中HTML标签过滤技巧

    接下来,我们将详细讨论PHP中过滤HTML标签的各种技巧。 首先,我们来说明一下htmlspecialchars()函数和strip_tags()函数。htmlspecialchars()函数将特殊字符转换成对应的HTML实体。例如,它会把"转换为"&lt;","&gt;...

    Python正则获取、过滤或者替换HTML标签的方法

    除了获取和过滤HTML标签外,我们还可以使用正则表达式来替换某些HTML标签。例如,如果我们想要将所有的` `标签替换为换行符`\n`,可以这样操作: ```python import re def replace_br_with_newline(htmlstr): ...

    易语言HTML过滤

    易语言HTML过滤是一种在编程领域中处理HTML文本的技术,它主要应用于从HTML文档中提取有用信息、去除无用标签或格式,或者进行数据抓取。易语言,是中国自主研发的一种简单易学的编程语言,它的设计目标是使得普通...

    html标签过滤

    HTML标签过滤是网络开发中一个重要的安全措施,主要用于防止XSS(Cross-Site Scripting)攻击。XSS攻击是通过在网页中注入恶意脚本,从而控制或窃取用户浏览器上的信息。为了防止这种情况,开发者通常会在处理用户...

    wap代码 html过滤器(java)

    1. **替换HTML标签为WAP兼容的标签**:例如,将`&lt;p&gt;`和`&lt;div&gt;`标签替换为` `,这是因为WAP标准不支持所有HTML标签,而` `作为换行标签,在大多数情况下可以提供类似的功能。 2. **图片处理与优化**:对于`...

    ASP.NET过滤HTML标签只保留换行与空格的方法

    本文将详细探讨如何在***中实现过滤HTML标签,同时仅保留文本中的换行和空格。 首先,我们要了解为什么需要过滤HTML标签。通常出于以下两个主要原因: 1. 安全原因:防止跨站脚本攻击(XSS),这是一种常见的安全...

    在fck下实现自动过滤word格式

    这可能包括使用正则表达式去除Word特有的HTML标签,如`&lt;o:p&gt;`,以及处理多余的样式信息。 3. **清理格式**:Word的格式化信息通常包含在CSS样式中,可以通过解析和清洗这些样式来消除Word的影响。比如,可以删除...

    Ruby-AutoHtml一组过滤器集合用于将纯文本转换成HTML代码

    这个库提供了一组强大的过滤器,可以解析文本中的链接、图片、视频等元素,并将其转化为相应的HTML标记,使得在网页显示时能够正确地呈现和交互。 AutoHtml库的核心理念是简化文本到HTML的转换过程,它为开发者提供...

    PHP 过滤特殊字符和HTML字符对照表

    在PHP编程中,过滤特殊字符和HTML字符是确保数据安全的重要步骤。这主要涉及到防止SQL注入、XSS攻击等安全问题。以下是对标题和描述中所述知识点的详细说明: 1. **特殊字符过滤**: - 特殊字符通常包括SQL语句中...

Global site tag (gtag.js) - Google Analytics