Hola a todos, aqui mi ultima funcion:
Clean_Html_CodeMe 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:
' ////////////////////////////////////////////////////////////////
' // *Autor: *PsYkE1* (miguelin.majo@gmail.com) //
' // *Podeis agrandar o reducir el codigo, siempre y cuando se //
' // respete la autoria y se me comuniquen esos cambios. //
' // *Visita http://foro.rthacker.net //
' ////////////////////////////////////////////////////////////////
Option Explicit
Private Declare Function IsCharAlphaNumeric Lib "user32" Alias "IsCharAlphaNumericA" (ByVal cChar As Byte) As Long
Public Function Clean_Html_Code(ByVal sHtmlCode As String) As String
Const ValidSymbolChars As String = ",.?¿!¡=+-*Ç""_:%$·/|\ºª@ "
Const StartInvalidString As String = "<{[(&"
Const StopInvalidString As String = ">}];"
Dim sActualChar As String * 1
Dim bIgnoreString As Boolean
Dim lTotalChar As Long
Dim x As Long
Dim y As Long
lTotalChar = Len(sHtmlCode)
If lTotalChar > 0 Then
For x = 1 To lTotalChar
sActualChar = Mid$(sHtmlCode, x, 1)
If InStr(StartInvalidString, sActualChar) <> 0 Then bIgnoreString = True
If bIgnoreString = False Then
If IsCharAlphaNumeric(Asc(sActualChar)) Or InStr(ValidSymbolChars, sActualChar) <> 0 Then
Clean_Html_Code = Clean_Html_Code & sActualChar
End If
End If
If InStr(StopInvalidString, sActualChar) <> 0 Then bIgnoreString = False
Next
Do Until InStr(1, Clean_Html_Code, " ") = 0
Clean_Html_Code = Replace$(Clean_Html_Code, " ", " ")
DoEvents
Loop
End If
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):
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! :)
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)
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... ;)
Cita de: raul338 en 7 Junio 2010, 07:15 AM
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!