domingo, octubre 17, 2021

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

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




Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub

Redes Sociales

2,736FansMe gusta
326SeguidoresSeguir

Popular esta semana

SQL Server - Merge

MERGE en SQL Server para Insert, Delete y Update con dos tablas

Ejemplo práctico usando MERGE para sincronizar dos tablas, Insert, Update y Delete en un solo query. Válido para SQL SERVER 2008 o superior.

Calcular la distancia entre dos puntos geográficos en SQL Server

En este ejemplo mostramos como calcular la distancia en metros o kilómetros entre dos puntos geográficos, por latitud y longitud. El resultado lo obtenemos en metros o kilómetros.

SQL Server: Error 3414, servicio no inicia

El error 3414 se produce generalmente cuando el motor de la base de datos SQL Server sufre algún evento imprevisto. Aquí lo solucionamos.

Últimos artículos

Flutter - Instagram Clone App

Instagram Clone App con Flutter

Marvin Stanley Valenzuela nos comparte un reto y genialidad a la vez, excelente práctica de la que podemos aprender mucho, diseñó en...

¿Cómo agregar una IP adicional en una VM Ubuntu en Azure?

Lo más común al momento de crear y configurar un nuevo servidor es que a este le asigne un solo IP, pero...
flutter one year

Después de un año con Flutter, esto es lo que aprendí

La historia comenzó cuando un día desperté pensando en tener un nuevo proyecto personal. Me dije a mí misma que hay muchas...
promocionar app

Cómo promocionar gratis tu app usando tappx

Como todos los que me siguen y mis redes sociales sabrán, recientemente lancé mi primera aplicación, pero más allá del desafío tecnológico de...