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:
Mostrar la cita
#2 Javi
22/08/2008 - 20:32 | Informe spam
Muchas gracias Matias,

Saludos,

"Matías Iacono" wrote:

Mostrar la cita
#3 Picatoste
25/08/2008 - 23:03 | Informe spam
On 22 ago, 20:32, Javi wrote:
Mostrar 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


}
Ads by Google
Search Busqueda sugerida