DotNetcr.com
Si deseas hacer un intercambio de links con DotNetcr, escríbenos aquí
Recibe las actualizaciones vía RSS
Te invitamos a unirte en nuestras redes
   http://www.facebook.com/DotNetcr
   http://www.twitter.com/dotnetcr

Función que nos retorna un texto html sin los tags, Removedor de Tags HTML ( HTML Tag Remover )

Por royrojas | 2/26/2006 | Visitas 8,820 | Voto 4.00
El manejo de string y de como poder remover segmentos del texto, por ejemplo Tags HTML es un aspecto que explicaremos en este ejemplo, utilizando funciones reservadas como InStr, Substring
Categorías : VB.NET, Componentes VB.NET, ASP.NET
Desgargar Ejemplo HTML_TAG_Remover.zip

El removedor de Tags HTML es una herramienta muy util no solo para su funcionalidad inicial, sino también, con algunas modificaciones nos podría servir para muchos otros propósitos.

En este ejemplo vamos a recorrer el texto buscando los Tags HTML, y una vez que los tengamos ubicados, posición en el texto, vamos a ir eliminando uno a uno.

 Public Shared Function RetornaTextoSinHTML( _
                        ByVal valor As String, _
                        Optional ByVal longitud As Integer = -1, _
                        Optional ByVal MostrarImagen As Boolean = False, _
                        Optional ByVal SoloPrimerParrafo As Boolean = False) As String

        'Recibe un texto con tags html y retorna solo el contenido sin tags         
        'valor: Contiene el texto original con los tags html
        'longitud: Si deseamos que el texto que nos retorne
        '          el archivo contenga una logitud específica
        'MostrarImagen: Que en el texto que nos retorne tenga
        '               eltag de una Imagen, la primera y solo una.
        'SoloPrimerParrafo: Que nos retorne solo el primer parrafo

        Try
            Dim nPos1 As Integer
            Dim nPos2 As Integer
            Dim nTagImagen As String = ""
            Dim strText As String = ""
            Dim Tag As String           

            'Obtiene la posicion del caracter <
            nPos1 = InStr(valor, "<")            

            Do While nPos1 > 0                

                'Obtiene la posicion del caracter >
                nPos2 = InStr(nPos1 + 1, valor, ">")                

                If nPos2 > 0 Then                    
                    strText = valor.Substring(0, nPos1 - 1)                    

                    'Obtiene los primeros caracteres del TAG html
                    'para hacer algunas comparaciones
                    Tag = valor.Substring(nPos1 - 1, 4)                    

                    'Que se retorne solo el primer parrafo
                    If Tag.Trim.ToUpper = "<BR>" And SoloPrimerParrafo Then
                        Exit Do
                    End If                    

                    'Que la imagen en el primer parrafo
                    'se muestre en el retorno
                    If Tag.Trim.ToUpper = "<IMG" _
                        And MostrarImagen And nTagImagen.Trim.Length = 0 Then

                        nTagImagen += valor.Substring(nPos1 - 1, nPos2)
                    End If

                    strText += valor.Substring(nPos2, valor.Length - nPos2 - 1)

                Else
                    Exit Do
                End If

                valor = strText
                nPos1 = InStr(strText, "<")
            Loop

            If strText.Length = 0 Then strText = valor

            'Si se desea que el string de retorno
            'tenga una longitud especifica
            If strText.Length >= longitud And longitud > 0 Then
                Return nTagImagen & strText.Substring(0, longitud - 1)
            Else
                Return nTagImagen & strText
            End If

        Catch ex As Exception
            Throw ex
        End Try
    End Function


Desgargar Ejemplo HTML_TAG_Remover.zip

Lo que tendríamos como resultado al utilizar esta función sería:

Texto con HTML
<img src="http://www.dotnetcr.com/IMG/apple-macs-intel.jpg" align="left"><b>Apple</a> anunció en su feria anual <b>Macworld<>, que se celebró en enero en San Francisco, la salida al mercado de los primeros ordenadores de la compañía que utilizan procesadores de <b>Intel</b>, un cambio anticipado en la política de la empresa.<br>

Texto sin HTML (resultado)
Apple anunció en su feria anual Macworld, que se celebró en enero en San Francisco, la salida al mercado de los primeros ordenadores de la compañía que utilizan procesadores de Intel, un cambio anticipado en la política de la empresa.

Desgargar Ejemplo HTML_TAG_Remover.zip
Area de Comentarios
Por Anónimo - Fecha: 2006/02/26 03:07 PM
Si el texto tiene caracteres menor y mayor, fallara al quitar los tags de HTML.
Por royrojas - Fecha: 2006/03/01 03:41 PM
si, en este ejemplo no se valida si el mayor o menor es parte del tag, simplemente busca este caracter. Voy a hacerle mejoras para validar estos casos y lo publico. saludos.
Por Anónimo - Fecha: 2007/02/19 04:08 PM
muy buen dato gracias!! =)
Por Anónimo - Fecha: 2007/05/15 07:44 PM
esta bien
Por Anónimo - Fecha: 2012/03/28 07:12 AM
RegularExpressions.Regex.Replace(html, "<[^>]*>", String.Empty)

Simple. A partir de aqui, lo que querais. XD
Por Anónimo - Fecha: 2012/04/28 12:11 AM
I hate my life but at least this makes it baebrlae.
Por Anónimo - Fecha: 2012/04/28 01:44 PM
Ku52mk , [url=http://tifpgkabulwj.com/]tifpgkabulwj[/url], [link=http://fnaxiyacxqfm.com/]fnaxiyacxqfm[/link], http://zqzdorfmguee.com/
Por Anónimo - Fecha: 2012/04/30 01:16 PM
2kGQNt , [url=http://qrdhzruqceov.com/]qrdhzruqceov[/url], [link=http://nresitgsaact.com/]nresitgsaact[/link], http://qcchcyexjjqb.com/
Por Anónimo - Fecha: 2016/02/02 03:24 PM
God, I feel like I shuold be takin notes! Great work
Por Anónimo - Fecha: 2016/02/10 09:34 AM
UstesGreenridge and Sebo,I agree, if someone wants it bad engouh, they will be able to do it. I didn't mean that Obfuscators will completely prevent cracks to the program, it just makes it more difficult. There is no real way to prevent your program from being cracked, unless you decide to not release it.Kitts,An Obfuscator makes it more difficult to follow the code, so harder for someone to develop a keygen from your actual code. Most keygens are developed by looking at the dis-assembly or trial and error. With .Net, it's just easier to do, since you can look at the real code.All,I had written this as an interesting look into Microsoft .Net Programming, not really how to completely prevent it from happening, because that's just not possible. What I really found interesting about all of this, is that it really saved my butt a few times recently. I guess the moral of the story is, .Net really isn't real code, and can easily be seen by others without your knowledge.Z http://xgtwnluwol.com [url=http://zssqyc.com]zssqyc[/url] [link=http://cpllbiwnz.com]cpllbiwnz[/link]
Ingrese su Comentario
Comentario
Para poder votar debe estar registrado en DotNetcr.com
Solo queda registrado el primer voto enviado
Voto


Últimos Recursos
ricardo leppe t
pedrojavier
CALIN
willipinru
richard
ragomez
PER 238
MEX 236
CRI 188
COL 118
ESP 105
ARG 88