elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [SRC][Funcion] Clean_Html_Code [by *PsYkE1*]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SRC][Funcion] Clean_Html_Code [by *PsYkE1*]  (Leído 2,118 veces)
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
[SRC][Funcion] Clean_Html_Code [by *PsYkE1*]
« en: 6 Junio 2010, 20:33 pm »

Hola a todos, aqui mi ultima funcion: Clean_Html_Code
Me llamareis pesao ya con tanta cadena, pero bueno... :laugh:
Esta funcion lo que hace es limpiar el Html de <strong>, <b>(entre otros)...
De esta forma es mas facil trabajar con la cadena, utilizo este metodo mientras aprendo ExprReg... :silbar:
Código
  1. ' ////////////////////////////////////////////////////////////////
  2. ' // *Autor: *PsYkE1* (miguelin.majo@gmail.com)                 //
  3. ' // *Podeis agrandar o reducir el codigo, siempre y cuando se  //
  4. ' // respete la autoria y se me comuniquen esos cambios.        //
  5. ' // *Visita http://foro.rthacker.net                           //
  6. ' ////////////////////////////////////////////////////////////////
  7.  
  8. Option Explicit
  9.  
  10. Private Declare Function IsCharAlphaNumeric Lib "user32" Alias "IsCharAlphaNumericA" (ByVal cChar As Byte) As Long
  11.  
  12. Public Function Clean_Html_Code(ByVal sHtmlCode As String) As String
  13.    Const ValidSymbolChars             As String = ",.?¿!¡=+-*Ç""_:%$·/|\ºª@ "
  14.    Const StartInvalidString           As String = "<{[(&"
  15.    Const StopInvalidString            As String = ">}];"
  16.    Dim sActualChar                    As String * 1
  17.    Dim bIgnoreString                  As Boolean
  18.    Dim lTotalChar                     As Long
  19.    Dim x                              As Long
  20.    Dim y                              As Long
  21.  
  22.    lTotalChar = Len(sHtmlCode)
  23.    If lTotalChar > 0 Then
  24.        For x = 1 To lTotalChar
  25.            sActualChar = Mid$(sHtmlCode, x, 1)
  26.            If InStr(StartInvalidString, sActualChar) <> 0 Then bIgnoreString = True
  27.            If bIgnoreString = False Then
  28.                If IsCharAlphaNumeric(Asc(sActualChar)) Or InStr(ValidSymbolChars, sActualChar) <> 0 Then
  29.                    Clean_Html_Code = Clean_Html_Code & sActualChar
  30.                End If
  31.            End If
  32.            If InStr(StopInvalidString, sActualChar) <> 0 Then bIgnoreString = False
  33.        Next
  34.        Do Until InStr(1, Clean_Html_Code, "  ") = 0
  35.            Clean_Html_Code = Replace$(Clean_Html_Code, "  ", " ")
  36.            DoEvents
  37.        Loop
  38.    End If
  39. End Function
Un ejemplo, tengo esto:
Citar
         <table border="0" width="100%" align="center" cellspacing="1" cellpadding="3" class="bordercolor">
            <tr class="titlebg">
               <td>Crear nuevo tema</td>
Hago la llamada asi(suponiendo que sData es el String donde tengo almacenado el codigo Html):
Código
  1. sData = Clean_Html_Code(sData)
La funcion me devuelve esto:
Citar
Crear nuevo tema

Si veis cualquier cosa mal o que se pueda mejorar, decirmela! ;)

Espero que os haya gustado! :P

Salu2! :)


« Última modificación: 6 Julio 2010, 19:46 pm por *PsYkE1* » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: [SRC][Funcion] Clean_Html_Code [by *PsYkE1*]
« Respuesta #1 en: 7 Junio 2010, 07:15 am »

Esta bueno, lindo code

Solo una duda que surgio mientras lo leia (no lo probe, estoy en el movil xd) es que estas utilizando IsCharAlpha y IsCharAlphaNumeric para el mismo fin!! O sea, practicamnte estas comprobando 2 veces la misma cosa (ante una letra ambas dan true).


Igual parece bueno, aunque con Exp.Reg se puede hacer mas corto (al menos eso creo :xD)


En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: [SRC][Funcion] Clean_Html_Code [by *PsYkE1*]
« Respuesta #2 en: 7 Junio 2010, 09:09 am »

Hola raul388! Gracias por el apunte! ;-)
Pense que IsCharAlpha te devuelve si es letra y IsCharAlphaNumeric te devuelve si es un numero...  :-\
Me acabo de dar cuenta que tienes razon...  :xD Solo con IsCharAlphaNumeric me vale... ;)
Igual parece bueno, aunque con Exp.Reg se puede hacer mas corto (al menos eso creo :xD)
JAJAJA :laugh:
Bueno ya sabes, hice este metodo mientras aprendo a usar Exp.Reg... :silbar:
Me alegro de que te guste! ;D

Salu2! ;)

EDITO: SRC CORREGIDO!
« Última modificación: 7 Junio 2010, 11:36 am por *PsYkE1* » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines