Foros del Web » Programando para Internet » Javascript »

buscar palabra y reemplazar por link

Estas en el tema de buscar palabra y reemplazar por link en el foro de Javascript en Foros del Web. Estoy queriendo hace runa funcion en javascript pero sinceramente no se ni por donde arrancar. Como se que no es etico pedir que me lo ...
  #1 (permalink)  
Antiguo 14/02/2011, 22:52
 
Fecha de Ingreso: enero-2011
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 0
buscar palabra y reemplazar por link

Estoy queriendo hace runa funcion en javascript pero sinceramente no se ni por donde arrancar. Como se que no es etico pedir que me lo den armado, por lo menos pido que me orienten por donde deberia arrancar.

La idea es la siguiente:
Estoy armando una web de turismo y me gustaria agregarle un link a todos las palabras que correspondan a paises, que se encuentre dentro de una base de datos. Como el cliente es el que carga la info, quiero evitar el paso de una vez escrito el pasis, tener que agregarle el "href". Teniedo en cuenta que ya se los paises y el href que le corresponde a cada uno, me gustaria poder lograr ese link automatico.

Muchas gracias por cualquier tipo de ayuda!
  #2 (permalink)  
Antiguo 15/02/2011, 11:06
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: buscar palabra y reemplazar por link

Una opción:
captura el texto donde vas a buscar, si estuviera en un div, puedes acceder a el por su innerHTML.

Ese texto pártelo (con split(' ');) en palabras, recorre el array resultante palabra por palabra y si coincide con alguna que quieras reemplazar, haz el remplazo agregado el href.

Vuelve a unir las palabras con join();

Reemplaza el texto original (el inneerHTML) con el texto cambiado.
  #3 (permalink)  
Antiguo 15/02/2011, 16:27
 
Fecha de Ingreso: enero-2011
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: buscar palabra y reemplazar por link

Gracias por la recomendacion.
Surfeando la net encontre algo piola que permite hacer el "replace" de texto por un link predeterminado. paso el detalle:

<head>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>

</head>
<body>
<div class="test">
Argentina<br />
Bolivia<br />
Brazil<br /><br />
<a href="http://www.dominio.com/argentina.htm">Argentina Link</span></a>
</div>
<script type="text/javascript">
(function($) {
var thePage = $("body");
thePage.html(thePage.html().replace(/Argentina/ig, '<a href="http://www.dominio.com/argentina.htm">Argentina</a>'));
thePage.html(thePage.html().replace(/Bolivia/ig, '<a href="http://www.dominio.com/bolivia.htm">Bolivia</a>'));
thePage.html(thePage.html().replace(/Brazil/ig, '<a href="http://www.dominio.com/brazil.htm">Brazil</a>'));
thePage.html(thePage.html().replace(/Chile/ig, '<a href="http://www.dominio.com/chile.htm">Chile</a>'));

}
)
(jQuery)
</script>
</body>

Como veran, funciona perfecto a la hora de reemplazar texto pero no se cómo agregarle la funcion de que si encuentra la palabra clave entre un tag "a" que sea false. Sin tener esta funcion, podran ver el error que tira con el ejemplo que puse "Argentina Link".

Encontre esta funcion pero no se como agregarlo al anterior... soy muy novato en el tema.

function isALink(node){return node.tagName=="A"?true:node.parentNode?isALink(nod e.parentNode):false;}
  #4 (permalink)  
Antiguo 15/02/2011, 17:01
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: buscar palabra y reemplazar por link

si yo fuera tú, lo haría del lado del servidor.
una vez recibida la cadena a insertar, reemplazaría las palabras claves, usando expresiones regulares, por ejemplo por bbcode país. te aconsejo bbcode y no que lo reemplaces por <a href="url">url</a> por que puede que en un futuro el target cambie. ya sólo has de volver a reemplazar los tag cuando vayas a imprimirlo por pantalla
  #5 (permalink)  
Antiguo 15/02/2011, 17:53
 
Fecha de Ingreso: enero-2011
Mensajes: 6
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: buscar palabra y reemplazar por link

Cita:
Iniciado por IsaBelM Ver Mensaje
si yo fuera tú, lo haría del lado del servidor.
una vez recibida la cadena a insertar, reemplazaría las palabras claves, usando expresiones regulares, por ejemplo por bbcode [url] país[/url]. te aconsejo bbcode y no que lo reemplaces por <a href="url">url</a> por que puede que en un futuro el target cambie. ya sólo has de volver a reemplazar los tag cuando vayas a imprimirlo por pantalla
El problema esta en que no tengo acceso a la base de datos. Por eso busco hacerlo de esta manera.

Igualmente, gracias.

Etiquetas: link, palabra, reemplazar
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 09:17.