Foros del Web » Programando para Internet » Javascript »

Palabras claves en JavaScript

Estas en el tema de Palabras claves en JavaScript en el foro de Javascript en Foros del Web. Hola, les explico: Inicialmente tenemos una variable String, que contiene un codigo HTML. por ejemplo: Código: <body onload="inicio()"> ForosDelWeb !! <a href="dfasdsdf">Enlace 1</a> <a href="dfasdsdf">Enlace ...
  #1 (permalink)  
Antiguo 15/12/2007, 20:43
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Palabras claves en JavaScript

Hola, les explico:

Inicialmente tenemos una variable String, que contiene un codigo HTML.

por ejemplo:
Código:
<body onload="inicio()">
ForosDelWeb !! 
<a href="dfasdsdf">Enlace 1</a>
<a href="dfasdsdf">Enlace 2</a>
<a href="dfasdsdf">Enlace 3</a>
<p>Parrafo</p>
<div>Capa</div>
<a href="dfasdsdf">Enlace 4</a>
</body>
y en javascript
Código PHP:
patron = new RegExp("<[^>]+>([^<]+)<\/[^>]+>","g");
         
result codigo.match(patron);
         
cad "";
         for(
i=0;i<result.length;i++)
               
cad += result[i]+","
esto nos devuelve lo siguiente:

cad = <a href="dfasdsdf">Enlace 1</a>,<a href="dfasdsdf">Enlace 2</a>,<a href="dfasdsdf">Enlace 3</a>,<p>Parrafo</p>,<div>Capa</div>,<a href="dfasdsdf">Enlace 4</a>

pero quiero que devuelva:

cad = Enlace 1,Enlace 2, Enlace 3, Parrafo, Capa, Enlace 4


Se trata para sacar todas las palabras de un código. En un principio estoy cogiendo las que estan dentro de ETIQUETAS. Despues iré ampliando.

Alguna idea para hacer o mejorar el código??


Saludos
  #2 (permalink)  
Antiguo 16/12/2007, 07:08
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: Palabras claves en JavaScript

Fijate si te sirve esto:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script>
function 
inicio(){
patron = new RegExp("<[^>]+>([^<]+)<\/[^>]+>","g");
         
result document.body.innerHTML.match(patron);
         
cad "";
         for(
i=0;i<result.length;i++)
               
cad += result[i]+",";  
//alert(cad)
//Obtener nodeValues
aux=document.createElement('div');
aux.id='auxiliar';
aux.style.display='none';
aux.innerHTML=result.join('');
document.getElementsByTagName('body')[0].appendChild(aux);
valornodos=[];
arAUX=document.getElementById('auxiliar').getElementsByTagName('*');
for(
i=0;i<arAUX.length;i++){
valornodos.push(arAUX[i].firstChild.data);
}
document.getElementsByTagName('body')[0].removeChild(document.getElementById('auxiliar'));
alert(valornodos);
}
window.onload=inicio;
</script>

</head>

<body>
ForosDelWeb !! 
<a href="dfasdsdf">Enlace 1</a>
<a href="dfasdsdf">Enlace 2</a>
<a href="dfasdsdf">Enlace 3</a>
<p>Parrafo</p>
<div>Capa</div>
<a href="dfasdsdf">Enlace 4</a>
</body>
</body>
</html> 
  #3 (permalink)  
Antiguo 16/12/2007, 09:55
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Palabras claves en JavaScript

gracias Panino5001. Para empezar me sirve, voy a seguir añadiendo cosas...



Saludos
  #4 (permalink)  
Antiguo 16/12/2007, 13:13
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Palabras claves en JavaScript

Panino5001 una pregunta:

que hace exactamente esta linea:
Código PHP:
arAUX=document.getElementById('auxiliar').getElementsByTagName('*'); 
Una vez que ha añadido al documento el DIV auxiliar, accedes con:
Código PHP:
document.getElementById('auxiliar'
pero despues lo siguiente no entiendo para que es...

es para que meta cada etiqueta en un indice del array???

Saludos
  #5 (permalink)  
Antiguo 16/12/2007, 14:55
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Re: Palabras claves en JavaScript

arAUX=document.getElementById('auxiliar').getEleme ntsByTagName('*');
Con esa línea generamos aun array con todos los elementos html presentes en el elemento cuyo id es 'auxiliar' (si quisiérmos todos los elementos párrafo, usaríamos document.getElementById('auxiliar').getElementsByT agName('p'); si quisiéramos sólo enlaces, usaríamos document.getElementById('auxiliar').getElementsByT agName('a'); pero como queremos la colección completa, usamos * que sirve de comodín).
Una vez que tenemos todos, recorremos el array y obtenemos el nodeValue con firstChild.data.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:00.