Foros del Web » Creando para Internet » HTML »

Página HTML, búsqueda de palabras en un texto

Estas en el tema de Página HTML, búsqueda de palabras en un texto en el foro de HTML en Foros del Web. Hola. Tengo un texto en txt o html, en ambas, cualquier opción me vale. Y quiero buscar unas palabras concretas de ese mismo texto. ¿Cómo ...
  #1 (permalink)  
Antiguo 06/07/2015, 14:50
 
Fecha de Ingreso: julio-2015
Mensajes: 13
Antigüedad: 8 años, 9 meses
Puntos: 0
Página HTML, búsqueda de palabras en un texto

Hola.

Tengo un texto en txt o html, en ambas, cualquier opción me vale.
Y quiero buscar unas palabras concretas de ese mismo texto. ¿Cómo leo el texto entero y le digo que me muestre solamente las palabras VARIABLES que yo le diga? O que me redireccione a otra página donde se han extraido esas variables y se muestran solamente esas.

Gracias.
Saludos.
  #2 (permalink)  
Antiguo 06/07/2015, 16:36
 
Fecha de Ingreso: julio-2015
Mensajes: 13
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Página HTML, búsqueda de palabras en un texto

Para mostrar los datos o la información en sí, he metido la página html o el fichero txt en un <object>.......</object>
  #3 (permalink)  
Antiguo 07/07/2015, 03:51
 
Fecha de Ingreso: febrero-2013
Mensajes: 115
Antigüedad: 11 años, 2 meses
Puntos: 5
Respuesta: Página HTML, búsqueda de palabras en un texto

Hola, para eso creo que necesitas de programacion dinamica como php o javascript.
__________________
http://tutorialesdelweb.blogspot.com/TutorialesWeb(principiantes)
  #4 (permalink)  
Antiguo 07/07/2015, 09:04
 
Fecha de Ingreso: julio-2015
Mensajes: 13
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Página HTML, búsqueda de palabras en un texto

Si. Eso es lo que necesito. ¿Pero que función exacta de javascript es la que necesito??
Gracias
  #5 (permalink)  
Antiguo 07/07/2015, 09:41
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Página HTML, búsqueda de palabras en un texto

Te puedes facilitar bastante el trabajo haciendo uso de expresiones regulares.

Última edición por PHPeros; 08/07/2015 a las 02:57
  #6 (permalink)  
Antiguo 07/07/2015, 11:21
 
Fecha de Ingreso: julio-2015
Mensajes: 13
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Página HTML, búsqueda de palabras en un texto

Y una vez que he conseguido acceder al contenido (que no me sale... jajaj), ¿Cómo accedo a las variables concretas de mi texto?
  #7 (permalink)  
Antiguo 07/07/2015, 11:24
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Página HTML, búsqueda de palabras en un texto

¿Qué variables concretas de tu texto? Pon un ejemplo.
  #8 (permalink)  
Antiguo 07/07/2015, 11:30
 
Fecha de Ingreso: julio-2015
Mensajes: 13
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Página HTML, búsqueda de palabras en un texto

Por ejemplo:

Me llamo Luis y tengo 29 años y vivo en Valencia y me gusta el deporte.
Hola, me llamo Ana y tengo 30 años y vivo en Valencia.
Me llamo Carlos y tengo 40 años y vivo en Madrid.

Yo tengo un texto mucho más grande y con mas palabras, y lo tengo en un fichero txt. Con funciones de javascript quiero mostrar en una página html solamente los datos que cambian, como en ese ejemplo. En una página html saldrían los datos:

Luis 29 Valencia
Ana 30 Valencia
etc etc
  #9 (permalink)  
Antiguo 07/07/2015, 11:32
 
Fecha de Ingreso: julio-2015
Mensajes: 13
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Página HTML, búsqueda de palabras en un texto

He probado con PHP pero no me ha funcionado... Prefiero hacerlo con javascript para poder mostrarlo en una página html
  #10 (permalink)  
Antiguo 07/07/2015, 13:39
 
Fecha de Ingreso: septiembre-2003
Mensajes: 140
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: Página HTML, búsqueda de palabras en un texto

¿Esto te puede servir? Habría que completarlo con la ciudad.

Código:
<html>
<head>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
	<script>
		$(document).ready(function(){
			$("#miTexto .frase").each(function (index) { 
				frase = $(this).text();
				posicion1 = frase.indexOf("llamo");
				posicion2 = frase.indexOf("y tengo");
				posicion3 = frase.indexOf("años");
				alert((frase.substring((posicion1+5),posicion2))+', '+(frase.substring((posicion2+8),posicion3)));
			}) 
		});
	</script>
</head>
<body>

<div id='miTexto'>
	<div class='frase'>Me llamo Luis y tengo 29 años y vivo en Valencia y me gusta el deporte.</div>
	<div class='frase'>Hola, me llamo Ana y tengo 30 años y vivo en Valencia.</div>
	<div class='frase'>Me llamo Carlos y tengo 40 años y vivo en Madrid.</div>
</div>

</body>
</html>
  #11 (permalink)  
Antiguo 07/07/2015, 13:40
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Página HTML, búsqueda de palabras en un texto

Te sería más fácil con PHP o cualquier lenguaje del servidor que con JavaScript.

Y es preferible usar RegExp, por cierto.
  #12 (permalink)  
Antiguo 07/07/2015, 13:43
 
Fecha de Ingreso: septiembre-2003
Mensajes: 140
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: Página HTML, búsqueda de palabras en un texto

Si usas un .txt local solo lo puedes tratar con HTML5. Si quieres usar PHP o jQuery debes tenerlo en un servidor externo.
  #13 (permalink)  
Antiguo 07/07/2015, 14:47
 
Fecha de Ingreso: julio-2015
Mensajes: 13
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Página HTML, búsqueda de palabras en un texto

Uso un fichero de texto local.

El problema lo tengo en como meter el fichero, porque solo me sale en pantalla cuando pongo el <object>, ahora es un div

<object type="text/html" data="hola.txt" width="1000" height="10000" id="id"></object>
  #14 (permalink)  
Antiguo 07/07/2015, 14:53
 
Fecha de Ingreso: julio-2015
Mensajes: 13
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Página HTML, búsqueda de palabras en un texto

Si no me equivoco has contado la posición de cierta palabra que se encuentra antes y después, y has sacado la variable. No?
  #15 (permalink)  
Antiguo 07/07/2015, 16:22
 
Fecha de Ingreso: septiembre-2003
Mensajes: 140
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: Página HTML, búsqueda de palabras en un texto

He buscado la posición de la primera letra de la palabra y le he sumado las letras de la misma palabra, para que me coja lo siguiente, y que me coja hasta la posicion de la primera letra de la siguiente palabra.

indexOf de 'llamo' me devuelve la posición de la primera 'l' y le sumo las letras de 'llamo' que son 5 (4 desde la primera 'l' mas un espacio en blanco). Y luego lo mismo con las otras posiciones clave.

Es un codigo un poco de andar por casa, y se puede afinar mucho, pero como solucion vale sin problemas.

Para cargar archivos txt locales con HTML tienes que usar FileReader. Que al final puedes guardar el contenido en una variable y hacer lo mismo.
  #16 (permalink)  
Antiguo 07/07/2015, 17:29
 
Fecha de Ingreso: julio-2015
Mensajes: 13
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Página HTML, búsqueda de palabras en un texto

Vale. Entiendo. Pero aún así no me sale.
Mi código es este: (donde pone select-output es lo que debo sacar, lo siguiente a eso)

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" lang="es-es">
<title>Leer archivo de texto</title>

<script>

function processFiles(files) {
var file = files[0];

var reader = new FileReader();

reader.onload = function (e) {
// Cuando éste evento se dispara, los datos están ya disponibles.
// Se trata de copiarlos a una área <div> en la página.
var output = document.getElementById("fileOutput");
output.textContent = e.target.result;};
reader.readAsText(file);
}

</script>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#fileInput .frase").each(function (index) {
frase = $(this).text();
posicion1 = frase.indexOf("select-output");
alert((frase.substring((posicion1+5));
})
});
</script>

</head>

<body>
<input id="fileInput" type="file" size="50" onchange="processFiles(this.files)">
<div id="fileOutput"></div>
</body>
</html>
  #17 (permalink)  
Antiguo 08/07/2015, 02:57
 
Fecha de Ingreso: septiembre-2003
Mensajes: 140
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: Página HTML, búsqueda de palabras en un texto

Código:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
    $(document).ready(function(){
		$('#btnVariables').css('display','none');
			$('#mifichero').change(function(){
				verTexto();
			});
			
			$('#btnVariables').click(function(){
				texto = $('#texto').text();
				arrayTexto = texto.split(' ');
				nombres = [];
				edades = [];
				ciudades = [];
				for (palabra in arrayTexto) {
					if(!isNaN(parseInt(arrayTexto[palabra]))) {
						edades.push(arrayTexto[palabra]);
					}
				}
			}
			alert('Edades: '+edades);
		});
    });
		
	function verTexto() {
		var file = document.querySelector('input[type=file]').files[0];
		var reader  = new FileReader();

		reader.onload = function () {
			$('#texto').html(reader.result);
			$('#btnVariables').css('display','block');
		}
		reader.readAsBinaryString(file);
	}
		
</script>
</head>

<body>
        <div>
			<input type='file' id='mifichero'>
			<div id='texto'></div>
			<input type='button' id='btnVariables' value='SACAR VARIABLES' />			
        </div>
</body>

</html>
Este ejemplo es un poco mas completo.
Selecciono el archivo de texto del disco duro y lo descompongo en un array de palabras. Teniendo las palabras por separado puedo jugar con ellas para sacar los valores que quiera.

Por ejemplo, las edades es fácil porque solo hay que detectar las palabras que son números.

Para las ciudades y nombres, yo que se, se puede hacer una funcion que detecte si la primera letra de la palabra es mayuscula. O indicar palabras clave como "llamo", y que la siguiente se añada al array de nombres, etc. Eso ya como veas.
  #18 (permalink)  
Antiguo 08/07/2015, 04:41
 
Fecha de Ingreso: julio-2015
Mensajes: 13
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Página HTML, búsqueda de palabras en un texto

Entiendo el código, pero meto un archivo txt igual que la cadena que os dije y sigue sin salirme. Y yo ya no se que hacer :( :(

Muchísimas gracias por vuestra ayuda.
  #19 (permalink)  
Antiguo 08/07/2015, 04:46
 
Fecha de Ingreso: julio-2015
Mensajes: 13
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Página HTML, búsqueda de palabras en un texto

Lo que no me sale es que, al pulsar el botón sacar variables, no sale nada.
  #20 (permalink)  
Antiguo 08/07/2015, 05:02
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Página HTML, búsqueda de palabras en un texto

Insisto en que la forma más productiva de hacerlo sería mediante capturas (RegExp):

Te dejo un ejemplo online de cómo sería.

Con el modificador m indicas que la búsqueda es multilínea y por lo tanto no tienes que estar haciendo split("\n") ni cosas raras

Si lo quieres implementar en JS, puedes hacerlo con exec().
  #21 (permalink)  
Antiguo 08/07/2015, 05:09
 
Fecha de Ingreso: julio-2015
Mensajes: 13
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Página HTML, búsqueda de palabras en un texto

Muchas gracias por tu ejemplo.

Intentaré ponerlo con expresiones regulares también, el problema está en la lectura del archivo si se usa ese tipo de expresiones. Se necesita leer.


En cuanto al error del código html, hay un error en una de las llaves de antes del alert. Sin embargo, si se quita alguna, el botón de seleccionar palabras desaparece...

Etiquetas: página, palabras
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 15:39.