JavaScript - Filtro en javascript con split

 
Vista:
sin imagen de perfil

Filtro en javascript con split

Publicado por Luis (4 intervenciones) el 15/11/2012 01:08:04
Buenas estimados, el motivo de mi consulta como ya lo dice el titulo se refiere a filtrar con split, en javascript. Aunque split no es "netamente" un tipo de filtrado este me deja quitar palabras, los espacios,etc . para que se genere un arreglo. Ahora bien mi pregunta es la siguiente si hago el correspondiente filtrado ejemplo :

en la textarea = que es un computador

var str = document.getElementById("tarea_pre").value.split(" ");

con esto se me eliminaran los espacios y quedara que,es,un,computador ...

ahora si quiero volver a filtrar ....cual es procedimiento que debo hacer... ??? puedo ocupar nuevamente split para sacar otra palabra o me recomiendan otra funcion para no obtener un codigo tan extenso. ??

Cualquier tipo de respuesta sera bien recibida. ;)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Filtro en javascript con split

Publicado por xve (2100 intervenciones) el 15/11/2012 10:00:53
Hola Luis, al hacer un split() de una cadena, no te devuelve una cadena, sino que te devuelve un array de valores, por lo que ya no puedes volver ha hacer un split sobre ese array, ya que split únicamente lo puedes utilizar con una cadena.

No se muy bien que quieres llegar ha hacer, pero si quieres reemplazar valores en una cadena, puedes utilizar replace()

Coméntanos exactamente que es lo que quieres realizar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Filtro en javascript con split

Publicado por Luis (4 intervenciones) el 15/11/2012 23:10:17
Gracias por tu respuesta estimado, tenia claro que split devuelve un array. Para que tengan mas información sobre el asunto estoy haciendo uso de jquery, json y php. Para mandar mensajes de respuesta (los cuales son ingresados a una text tarea) desde una pagina web hacia a un correo electrónico, por tanto tengo que tomar la cadena, usar split y al obtener el array dejarlo en un ciclo for para recorrerlo, analizar las palabras una por una para que pasen al php(desde donde enviare el correo) y devolver una respuesta.
Sin mas rodeos quiero quitar esas palabras como preposiciones, articulos,etc. para que no tengan que ser analizados, esa es mi duda principal existe alguna función, o algo por el estilo que me quite o me sirava para quitar ese tipo de palabras. ?

De antemano gracias. ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Filtro en javascript con split

Publicado por xve (2100 intervenciones) el 16/11/2012 07:51:10
Hola Luis, gracias por comentarlo... no entiendo muy bien tu pregunta.

La manera que yo lo haría, seria desde el codigo PHP en vez de hacerlo con javascript... supongo que en javascript también se podrá realizar, pero lo que se me ocurre, solo lo se hacer con PHP...

supongamos que la cadena que te llega por $_POST al PHP es texto.
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$ko=array("ya", "la", "las", "su", "da", "de", "del", "di", "la", "el", "al", "con", "y", "para", "en", "desde", "por", "los", "en", "días", "dias", "a", "un", "una", "dos", "tres", "ante", "in", "day", "for", "the", "and", "by");
 
# Creamos el array de la variable recibida
$cadena=explode(" ",$_POST["texto"]);
 
# Eliminamos los valores repetidos entre los dos arrays
$diff=array_diff($cadena,$ko);
 
# Pasamos el array a texto
$resultado=implode(" ",$diff);
?>


De esta manera, la variable $resultado contendrá el texto sin los valores contenidos en el array $ko

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Filtro en javascript con split

Publicado por Luis (4 intervenciones) el 17/11/2012 01:22:49
Estimado gracias nuevamente por tu pronta respuesta. Lo que hiciste con PHP me fue de mucha utilidad, trate de alejar un poco el asunto de javascript y llevarlo netamente a PHP ...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
 
require_once('../config.php');
 
 
$respuesta="false";
 
 
 
$pregunta = $_POST['pregunta'];
$mail2 = $_POST['mail'];
 
// $ko=array("ya", "la", "las", "su", "da", "de", "del", "di", "la", "el", "al", "con", "y", "para", "yo", "desde", "por", "los", "en", "días", "dias", "a", "un", "una", "dos", "tres", "ante", "que", "cual", "como", "y", "o", "es");
 
$cadena=explode(" ",$pregunta);
 
$largo = sizeof($cadena);
 
// $diff=array_diff($cadena,$ko);
 
$vdd=0;
$fal=0;
 
for($i=0;i<$largo;$i++){
 
 
$mysql_query = mysql_query("Select respuestas from preguntas where preguntas = '".$cadena[i]."' " );
$mensaje = mysql_fetch_assoc($mysql_query);
$mensaje_final = $mensaje['respuestas'];
 
$mysql_query2 = mysql_query("Select preguntas from preguntas where preguntas = '".$cadena[i]."' " );
$mensaje2 = mysql_fetch_assoc($mysql_query2);
$mensaje_final2 = $mensaje2['preguntas'];
 
 
 
if($cadena[i] == $mensaje_final2){
 
 
$vdd++;
 
 
 
}else{
 
$fal++;
 
}
 
 
}
if($vdd>0){
 
 
$asunto = "Posible Respuesta";
$mail_para = "xxx@xx.xx";
$header="from:Anon <$mail_para>";
$para = $mail2;
$send = mail($para,$asunto,$mensaje_final,$header);
 
$respuesta = "true";
 
}else{
 
$respuesta = "false";
 
 
}
 
echo ($respuesta);
?>


Aqui esta lo que quiero hacer enviar un mensaje de respuesta a un correo ingresado, el asunto de quitar esas palabras que estan demas con array_diff me funciono(en este momento no lo estoy ocupando,ya que quiero solucionar otra cosa) ,luego probe con algunos ejemplos de envios sin ese ciclo for que se ve en codigo dejando cadena[0] (solo para hacer una prueba), tambien obtuve buenos resultados, sin embargo al ocupar el ciclo for para recorrer el array completamente no me funciona, soy algo nuevo en el asunto de PHP, y tampoco soy un master en programacion por eso quiero saber si puedes ver el error en mi codigo, sintaxis o algo. Buena eso principalmente.
De antemano gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Filtro en javascript con split

Publicado por Luis (4 intervenciones) el 18/11/2012 01:42:50
Estimados logre solucionar el problema, en mi código anterior habian varios errores. También código que estaba demás, ahora todo funciona perfectamente ;) .

Gracias a xve por tu ayuda me sirvio mucho.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar