Problema con función

20/08/2008 - 12:41 por Javi | Informe spam
Hola a todos,

Estoy llamando a la siguiente función:

function BorrarScript(str)
dim oER:set oER = New RegExp
oER.Pattern = "<script[^>]*?>"
oER.IgnoreCase = True
oER.Global = True
BorrarScript = oER.replace(str, "")
set oER = nothing
end function

y me da el siguiente error:

Microsoft VBScript runtime error '800a139a'

Unexpected quantifier

/_script.asp, line 25


la línes 25 corresponde con:

BorrarScript = oER.replace(str, "")




Lo que quiero hacer es eliminar un texto concreto en un registro de la base
de datos:

<script>texto</script><script>texto2</script><script>texto3</script>

Tengo todos estos scripts seguidos y quiero eliminarlos y he pesando en la
función anterior, aunque me queda un poco de "basura" y tengo que utilizar la
siguiente para limpiarlo por completo:

function limpiarScript(str)
cadena = replace(str, "</script>", "")
cadena = trim(replace(cadena, "<", ""))

limpiarScript = cadena
end function


me pueden ayudar... muchas gracias y un cordial saludo,

Preguntas similare

Leer las respuestas

#1 Matías Iacono
22/08/2008 - 17:16 | Informe spam
Si tienes la funcion de abajo, el uso de la expresión regular no es
necesaria.

Digo, para el caso, quitar los <script> logras lo mismo con los replaces.

Saludos.

Ing. Matías Iacono
Microsoft MVP ASP.net
Orador Regional Ineta Latam
http://mvpfiles.spaces.live.com
"Javi" escribió en el mensaje de noticias
news:
Hola a todos,

Estoy llamando a la siguiente función:

function BorrarScript(str)
dim oER:set oER = New RegExp
oER.Pattern = "<script[^>]*?>"
oER.IgnoreCase = True
oER.Global = True
BorrarScript = oER.replace(str, "")
set oER = nothing
end function

y me da el siguiente error:

Microsoft VBScript runtime error '800a139a'

Unexpected quantifier

/_script.asp, line 25


la línes 25 corresponde con:

BorrarScript = oER.replace(str, "")




Lo que quiero hacer es eliminar un texto concreto en un registro de la
base
de datos:

<script>texto</script><script>texto2</script><script>texto3</script>

Tengo todos estos scripts seguidos y quiero eliminarlos y he pesando en la
función anterior, aunque me queda un poco de "basura" y tengo que utilizar
la
siguiente para limpiarlo por completo:

function limpiarScript(str)
cadena = replace(str, "</script>", "")
cadena = trim(replace(cadena, "<", ""))

limpiarScript = cadena
end function


me pueden ayudar... muchas gracias y un cordial saludo,

Respuesta Responder a este mensaje
#2 Javi
22/08/2008 - 20:32 | Informe spam
Muchas gracias Matias,

Saludos,

"Matías Iacono" wrote:

Si tienes la funcion de abajo, el uso de la expresión regular no es
necesaria.

Digo, para el caso, quitar los <script> logras lo mismo con los replaces.

Saludos.

Ing. Matías Iacono
Microsoft MVP ASP.net
Orador Regional Ineta Latam
http://mvpfiles.spaces.live.com
"Javi" escribió en el mensaje de noticias
news:
> Hola a todos,
>
> Estoy llamando a la siguiente función:
>
> function BorrarScript(str)
> dim oER:set oER = New RegExp
> oER.Pattern = "<script[^>]*?>"
> oER.IgnoreCase = True
> oER.Global = True
> BorrarScript = oER.replace(str, "")
> set oER = nothing
> end function
>
> y me da el siguiente error:
>
> Microsoft VBScript runtime error '800a139a'
>
> Unexpected quantifier
>
> /_script.asp, line 25
>
>
> la línes 25 corresponde con:
>
> BorrarScript = oER.replace(str, "")
>
>
>
>
> Lo que quiero hacer es eliminar un texto concreto en un registro de la
> base
> de datos:
>
> <script>texto</script><script>texto2</script><script>texto3</script>
>
> Tengo todos estos scripts seguidos y quiero eliminarlos y he pesando en la
> función anterior, aunque me queda un poco de "basura" y tengo que utilizar
> la
> siguiente para limpiarlo por completo:
>
> function limpiarScript(str)
> cadena = replace(str, "</script>", "")
> cadena = trim(replace(cadena, "<", ""))
>
> limpiarScript = cadena
> end function
>
>
> me pueden ayudar... muchas gracias y un cordial saludo,
>


Respuesta Responder a este mensaje
#3 Picatoste
25/08/2008 - 23:03 | Informe spam
On 22 ago, 20:32, Javi wrote:
Muchas gracias Matias,

Saludos,



"Matías Iacono" wrote:
> Si tienes la funcion de abajo, el uso de la expresión regular no es
> necesaria.

> Digo, para el caso, quitar los <script> logras lo mismo con los replaces.

> Saludos.

> Ing. Matías Iacono
> Microsoft MVP ASP.net
> Orador Regional Ineta Latam
>http://mvpfiles.spaces.live.com
> "Javi" escribió en el mensaje de noticias
>news:
> > Hola a todos,

> > Estoy llamando a la siguiente función:

> > function BorrarScript(str)
> > dim oER:set oER = New RegExp
> > oER.Pattern = "<script[^>]*?>"
> > oER.IgnoreCase = True
> > oER.Global = True
> > BorrarScript = oER.replace(str, "")
> > set oER = nothing
> > end function

> > y me da el siguiente error:

> > Microsoft VBScript runtime error '800a139a'

> > Unexpected quantifier

> > /_script.asp, line 25

> > la línes 25 corresponde con:

> > BorrarScript = oER.replace(str, "")

> > Lo que quiero hacer es eliminar un texto concreto en un registro de la
> > base
> > de datos:

> > <script>texto</script><script>texto2</script><script>texto3</script>

> > Tengo todos estos scripts seguidos y quiero eliminarlos y he pesando en la
> > función anterior, aunque me queda un poco de "basura" y tengo que utilizar
> > la
> > siguiente para limpiarlo por completo:

> > function limpiarScript(str)
> > cadena = replace(str, "</script>", "")
> > cadena = trim(replace(cadena, "<", ""))

> > limpiarScript = cadena
> > end function

> > me pueden ayudar... muchas gracias y un cordial saludo,- Ocultar texto de la cita -

- Mostrar texto de la cita -



Buenas!

También podrias utilizar el método de strings split(), te divide los
string en arrays cogiendo como criterio de "corte" el subtring que
escribas (el cual elimina en el proceso). Vamos para tratar XML es lo
más limpio creo yo.

Por ejemplo en el string:

str = <script>texto</script><script>texto2</script><script>texto3</
script>

arrayScriptAux = new Array();
arrayAux = new Array();
arrayScriptAux = Split(str,"<script>")

Te quedaría el siguiente array:

arrayScriptAux[0] = "texto</script>"
arrayScript,Aux[1] = "texto2</script>"
arrayScriptAux[2] = "texto3</script>"

y luego:
for(i=0;i<arrayScript.lenght;i++){
arrayAux[i] = Split(arrayScriptAux[i],"</script>")[0];

Wuala!

Luego podrías pasar a la clase Enumerator el array de string
resultante si prefieres tratarlo como un iterator en vez de como un
array. Sinceramente es lo a mi parecer es lo mismo con otro nombre.

No sé si exactamente la nomenclatura es correcta, puede que el metodo
split se llame así str.Split("<script>") y devuelva el resultado, pero
me parece que así se hace en Jscript. también puede ser que para
indexar los arrays tengas que usar (i) en vez de [i]. Cuestión de
probarlo :). Me lio un poco con JScript y VBScript :(

pero el resultado lo tienes ya en un array (bien ordenadito para su
utilización) :)

Es otra forma de hacerlo, para mis mas reutilizable y limpia, pero la
que has hecho es igual de correcto. Depende para que lo quieras.

Saluditos!

David Benito


}
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida