Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como reemplazar en cadenas de texto: URLs por LINKs?

Estas en el tema de Como reemplazar en cadenas de texto: URLs por LINKs? en el foro de PHP en Foros del Web. Buenas, mi duda es la siguiente: Tengo unos textos que obtengo de una base de datos. Y en esos textos a veces puedo encontrarme direcciones ...
  #1 (permalink)  
Antiguo 08/09/2013, 12:41
 
Fecha de Ingreso: febrero-2011
Mensajes: 48
Antigüedad: 13 años, 2 meses
Puntos: 0
Como reemplazar en cadenas de texto: URLs por LINKs?

Buenas,

mi duda es la siguiente:

Tengo unos textos que obtengo de una base de datos. Y en esos textos a veces puedo encontrarme direcciones o urls escritas tal cual... http://www.porejemplo.com/ ó http://www.loquesea.com/imagen1.jpg
En texto plano (Editado: vaya parece que los forosdelweb convierten el texto plano en enlaces automaticamente, es justo lo que ando buscando :P ).

Lo que estoy deseando encontrar es la manera de cambiar ese texto añadiendole los tags <a href="etc...">etc...</a> ó <img src="...jpg" />

Para que al "imprimir" los textos en la web, se pueda clicar directamente en las urls o que se "muestren" las imagenes.

He estado investigando sobre el tema y he estado probando las funciones str_replace y strstr, pero los ejemplos que he encontrado en este foro o en la web no me han servido porque yo no se que enlaces debo encontrar, cada texto tendra montones de enlaces e imagenes con cadenas de texto totalmente impredecibles. Creo que deberia hacer uso de las expresiones regulares pero estoy muy perdido.

Podria alguien guiarme con la sintaxis de lo que quiero conseguir?

Muchas gracias
  #2 (permalink)  
Antiguo 08/09/2013, 12:50
Avatar de macmaikel  
Fecha de Ingreso: agosto-2013
Mensajes: 25
Antigüedad: 10 años, 8 meses
Puntos: 5
Respuesta: Como reemplazar en cadenas de texto: URLs por LINKs?

Simplemente, si sacas esa url y la guardas en la variable $link, por ejemplo,haz esto:


$link='<a href="'.$link.">'.$link.'</a>';
  #3 (permalink)  
Antiguo 08/09/2013, 12:54
 
Fecha de Ingreso: febrero-2011
Mensajes: 48
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Como reemplazar en cadenas de texto: URLs por LINKs?

Si, ese seria el ultimo paso, pero como guardo en la variable $link los enlaces? solo puedo contar con que todos los enlaces empiezan por http://... pero no como acaban. como ya dije antes esto parece un caso de expresiones regulares, pero necesito un ejemplo mas elaborado.
  #4 (permalink)  
Antiguo 08/09/2013, 13:25
 
Fecha de Ingreso: febrero-2011
Mensajes: 48
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Como reemplazar en cadenas de texto: URLs por LINKs?

Estoy totalmente convencido que esto puede hacerse con PHP, PHPeros
  #5 (permalink)  
Antiguo 08/09/2013, 13:56
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 12 años, 5 meses
Puntos: 18
Respuesta: Como reemplazar en cadenas de texto: URLs por LINKs?

Cita:
Iniciado por Swivel Ver Mensaje
Si, ese seria el ultimo paso, pero como guardo en la variable $link los enlaces? solo puedo contar con que todos los enlaces empiezan por http://... pero no como acaban. como ya dije antes esto parece un caso de expresiones regulares, pero necesito un ejemplo mas elaborado.
A ver si te entendi

supongo que tienes una base de datos con los links

entonces solo haces un barrido de los registro con While y le aplicas el link como te dijeron.

Saludos
  #6 (permalink)  
Antiguo 08/09/2013, 13:58
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Respuesta: Como reemplazar en cadenas de texto: URLs por LINKs?

La verdad es que no sé qué pintará CSS o JavaScript en esto.

Tendrás que usar expresiones regulares. Tienes aquí un ejemplo, y aquí una expresión regular algo más completa.
  #7 (permalink)  
Antiguo 08/09/2013, 14:25
 
Fecha de Ingreso: febrero-2011
Mensajes: 48
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Como reemplazar en cadenas de texto: URLs por LINKs?

Cita:
Iniciado por PHPeros Ver Mensaje
Lo que estás diciendo es que se guarde el html directamente con el documento y eso no se hace asi.
Vaya, realmente no pensaba que en este foro encontrara respuestas tan dispares.
El texto es solo eso, texto plano.
Solo necesito una funcion que me detecte cada enlace.. como identificar cada enlace?
pues si comienzan por http://.... pues que al imprimir ese texto me ponga, gracias a otra funcion, los tags de <a href="$link"> al comienzo y </a> al final...

Si, se puede hacer con javascript seguramente, pero yo estoy buscando la solucion en php, porque se que se puede.

Cita:
Iniciado por pzin Ver Mensaje
La verdad es que no sé qué pintará CSS o JavaScript en esto.

Tendrás que usar expresiones regulares. Tienes aquí un ejemplo, y aquí una expresión regular algo más completa.
Gracias pzin, mirare esos enlaces y a ver si consigo entender algo.

Edito: Gracias pzin, esta clarisimo!

Última edición por Swivel; 08/09/2013 a las 14:55
  #8 (permalink)  
Antiguo 08/09/2013, 19:13
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 2 meses
Puntos: 96
Respuesta: Como reemplazar en cadenas de texto: URLs por LINKs?

Echale una mirada a esto y adaptalo a tus necesidades

http://www.forosdelweb.com/f18/obten...agina-1072431/
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.

Etiquetas: cadenas, reemplazar, urls
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 14:00.