Extraer texto de una etiqueta html con javascript


([N3] frugulletti) #1

Un saludo amigos, realmente mi conocimiento es javascript es de cero es por ello que necesito una mano con esto, por favor:
Necesito que a través de un proceso extraer el texto de una etiqueta htlm, dicho contenido ya lo tengo en una variable local. Ya se que con (theRoot.varToString) paso el contenido de mi variable de velneo hacia el proceso javascript la cual entre otros va a contener algo similar:
<info:Tasa>75</info:Tasa>

Y necesito retornar el (75) simplemente.
Gracias de antemano…


([N1] cristianvg2003) #2

Hola, el asunto va asi:


local = "<info:Tasa>75</info:Tasa>"
valor = local.match(/<info:Tasa>(75)<\/info:Tasa>/)[1]
// valor "75"


([N3] frugulletti) #3

Buenos días Cristian, gracias.

Aparentemente funciona pero el documente html contiene varias etiquetas y en un momento me va a interesar una u otra.

Para aclarar, la variable “local” va a contener mi documento cierto ?
Otra coas cómo hago para sustituir esto “/<info:Tasa>(75)</info:Tasa>/” por el nombre de la etiqueta simplemente pues no se lo que pueda contener, en este momento el 75 pero en otro puede ser 1500, 10, o 100,…o sea que simplemente colo que “Tasa” o “info:Tasa” que sí son fijos, tal como otro dice “info:Name(NOMBRE COMPLETO)</info:Name>”…


([N1] cristianvg2003) #4

Ahhhh disculpa el codigo debe de ser:


local = "<info:Tasa>75</info:Tasa>"
valor = local.match(/<info:Tasa>(\d*)<\/info:Tasa>/)[1]
// valor "75"

asi te saca el valor en concreto


([N3] frugulletti) #5

Ok mucho mejor, pero aparentemente solo funciona con número :-/, o sea si en ver de tener ese 75 tiene un texto…


([N1] wikan) #6

Yo pregunto, si no conoces javascript por que lo haces con javascript??

Puedes tratar texto directamente con lenguaje nativo, también tienes expresiones regulares.


([N3] frugulletti) #7

Performance, con javascript debe haber instrucciones más eficientes ya que es su área y en realidad no ha de ser la gran cosa el código.


([N3] frugulletti) #8

Listo ya me camina bien, solo sustituí el \d* por [\s\S]*
Gracias…