Foros del Web » Programando para Internet » PHP »

Reemplazar url's por links

Estas en el tema de Reemplazar url's por links en el foro de PHP en Foros del Web. Hola. Busque esto de un monton de formas, pero no lo encontre. Lo vi alguna vez, pero no halle nada ahora. Como hago para reemplazar ...
  #1 (permalink)  
Antiguo 25/05/2003, 23:23
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 15 años, 6 meses
Puntos: 0
Reemplazar url's por links

Hola.
Busque esto de un monton de formas, pero no lo encontre. Lo vi alguna vez, pero no halle nada ahora.

Como hago para reemplazar en un texto la cadena "www.sitio.com" por www.sitio.com ?
Alguien tiene a mano algun script con expresiones regulares para eso?

Tambien necesitaria hacer como aca, pasar el [ URL=www.sitio.com ]www.sitio.com[ /URL ] a www.sitio.com, como hacen?

Última edición por zeus_bsas; 25/05/2003 a las 23:25
  #2 (permalink)  
Antiguo 25/05/2003, 23:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Basicamente .. Expresionres regulares (no me preguntes a mi que no es mi fuerte xDD) ..

Para el primer caso .. lee este mensaje:
http://www.forosdelweb.com/showthrea...hreadid=132530

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 26/05/2003, 00:03
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 15 años, 6 meses
Puntos: 0
Me estoy volviendo loco, no entiendo nada de expresiones regulares
Consegui un ejemplo de lo primero que necesitaba, pero sobre esto:
Cita:
Tambien necesitaria hacer como aca, pasar el [ URL=www.sitio.com ]www.sitio.com[ /URL ] a www.sitio.com, como hacen?
No consegui nada.
No habra alguien que tenga esta funcion, funcionando? PLEASE

Última edición por zeus_bsas; 26/05/2003 a las 01:46
  #4 (permalink)  
Antiguo 26/05/2003, 07:24
Abs
 
Fecha de Ingreso: enero-2003
Mensajes: 216
Antigüedad: 14 años, 10 meses
Puntos: 0
hola,

como quieres q las URL se conviertan en links? usuario rellena formulario con url y luego se convierte en links o con expresiones regulares tipo tags [url]...?

para el primer caso, solo tendrás que poner <a href="$variable_url_que_recogiste_en_formulario">$ url</a>

para el segundo caso estudiate lo de expresiones regulares como dice cluster puedes encontrar más en www.php.net

Saludos
  #5 (permalink)  
Antiguo 26/05/2003, 09:48
Avatar de LeoIglesias  
Fecha de Ingreso: enero-2003
Ubicación: Concepcion del Uruguay
Mensajes: 53
Antigüedad: 14 años, 11 meses
Puntos: 0
Hay expresiones regulares.....

Yo logre transformarlos con la siguiente expresion
Código PHP:
$noticias ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]""<a href=\"\\0\">\\0</a>"$noticias); 
.
Espero te sirva. Lo encontre en algun sitio por alli con muchos scripts y muy interesantes pero por desgracia no recuerdo de donde. Vale aclarar que para que te cambie el texto por un link con esta Expresion Regular en particular debe decir http:\\www.link.com.
Me explico?

Saludos
Leo(!)
  #6 (permalink)  
Antiguo 26/05/2003, 12:55
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 15 años, 6 meses
Puntos: 0
Gracias, pero justamente eso es lo que ya habia conseguido.
Lo que necesito es que a partir de un [ url=www.x.com ]link[ url ] pase a link, como lo habia mencionado antes.
Lo de guardar tags de html en una tabla me parece pesima idea. Ademas de que puede ocupar mas espacio, yo suelo reemplazar las entidades html para que nadie edite html, y no me serviria hacer eso.
  #7 (permalink)  
Antiguo 26/05/2003, 17:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
zeus_bsa . es un poco "bruto" lo que te voy a decir .. pero, Casi cualquier Foro tipo phpBB y algunos así hacen eso mismo. Bajatelo y localiza el código que usan .. Son aplicaciones "Open Source" (bajo GPL u otras licencias) así que no tendras problemas en usar dicho código cuando lo encuentres (es más . igual ves algún (c) de algún autor de dicha función .. )

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 26/05/2003, 23:02
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 15 años, 6 meses
Puntos: 0
Para nada, esta muy bien la solucion que me das, pero la verdad no se de donde bajar un foro. Voy a buscar a ver que encuentro (espero igualmente que no pese mucho, estoy conectado a 38k )
  #9 (permalink)  
Antiguo 26/05/2003, 23:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usando google ...

Del CVS de los foros phorum:
http://dev.phorum.org/cvsweb/cvsweb....ode/bbcode.php

Ahi tienes lo que buscas. Es una función que hace no sólo eso del "URL" sino más cosas .. Estudiala ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 27/05/2003, 10:51
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 14 años, 7 meses
Puntos: 0
Cita:
Tambien necesitaria hacer como aca, pasar el [ URL=www.sitio.com ]www.sitio.com[ /URL ] a www.sitio.com, como hacen?
Hola, yo creo que con un script de 5 lines ya se puede, con explodes. Voy a ver si soy capaz. Si lo consigo lo pongo aquí.

Un saludo

Bueno despues de un tiempo pensando, me salió, tiene 8 lineas. Funciona a la perfección. Aquí les va, por favor espero sus comentarios diciendo que es un poco burdo el script:

<?php
$texto = "[ URL=http://www.programaslynx.tk]Programas Lynx[/URL ]"; // Quiten los espacios que contiene la cadena para probarlo.
$cortar = explode("[URL=", $texto);
$corta = explode("]", $texto);
$limpia = str_replace("]$corta[1]]","", $cortar[1]);
$limpiar = str_replace("[/URL","", $corta[1]);
echo "<font color=\"red\"><a href=\"$limpia\" target=\"_blank\">$limpiar</a></font>";
?>

Ya ven que es una cutrada, pero a mi me funciono . Pruebenlo.
PD: Gracias a vosotros ya tengo otro artículo para mi web,

Un saludo

(te edité el mensaje .. ya quedó limpio .. pero acuerdate de desactivar ese checkbox si vas a poner URL's como código .. OPS! .. el vB code no me deja desactivarlo xD .. )
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.

Última edición por Cluster; 27/05/2003 a las 13:39
  #11 (permalink)  
Antiguo 27/05/2003, 15:09
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 15 años, 6 meses
Puntos: 0
Muchas gracias Pino, me convence mas eso mientras sea posible no usar ER.
  #12 (permalink)  
Antiguo 27/05/2003, 15:21
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Bueno, no se que tal funcionara con cadenas estilo:

[ URL= ]www.sitio.com[ /URL ]
[ URL=www.sitio.com ]PePe ][, el retorno[ /URL ]
[ URL=esto no es una URL valida ]www.sitio.com[ /URL ]
[ URL=www.sitio.com ][ /URL ]

Ya se que estan hechas a mala leche, pero los usuarios son peores. Ademas, parte del hecho de que tienes ya aislada esa parte del texto.

En fin, que creo que la mejor solucion seria investigar las RegExp.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #13 (permalink)  
Antiguo 27/05/2003, 15:50
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 14 años, 7 meses
Puntos: 0
Hola, Josemi yo estoy de acuerdo contigo de que es mucho mejor las expresiones regulares. Bueno el script lo hize por que me parecia fácil, y el chaval por lo visto era lo que buscaba. Por lo que dices tu el script se podría mejorar para que entendiera los fallos de usuario. Hombre yo creo que el script no esta mal, la verdad es que funciona.

Un saludo a todos, y epero que os alla gustado el script
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #14 (permalink)  
Antiguo 27/05/2003, 21:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pino .. tu "algoritmo" está bien .. pero suele pasar eso mismo cuando no se usan Expresiones regulares .. Si quisieras tomar en cuenta todos los ejemplos que puso josemi "a mala leche xDDD" (jeje yaya son los usuarios xD) te saldría un buen peaazo de script con monton de lógica (condicionales .. etc ..). Pero vamos .. alternativas "mas limpias" o menos .. siempre las sule haber.

Por cierto .. ¿Nadie le hechó un vistazo al último link que dejé? (es la función de BBcode que usa los foro phrum .. entre ellos está todo el tema de [ URL=.....]....[/URL ] y algunas cosas mas usando Expresiones Regulares)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #15 (permalink)  
Antiguo 27/05/2003, 22:46
 
Fecha de Ingreso: junio-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 876
Antigüedad: 15 años, 6 meses
Puntos: 0
Cita:
Mensaje Original por Cluster
Pino .. tu "algoritmo" está bien .. pero suele pasar eso mismo cuando no se usan Expresiones regulares .. Si quisieras tomar en cuenta todos los ejemplos que puso josemi "a mala leche xDDD" (jeje yaya son los usuarios xD) te saldría un buen peaazo de script con monton de lógica (condicionales .. etc ..). Pero vamos .. alternativas "mas limpias" o menos .. siempre las sule haber.

Por cierto .. ¿Nadie le hechó un vistazo al último link que dejé? (es la función de BBcode que usa los foro phrum .. entre ellos está todo el tema de [ URL=.....]....[/URL ] y algunas cosas mas usando Expresiones Regulares)

Un saludo,
Si, yo lo mire y al final comence a usar algunas lineas de las que estan en ese archivo. Gracias.
  #16 (permalink)  
Antiguo 28/05/2003, 13:34
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 14 años, 7 meses
Puntos: 0
Cita:
Mensaje Original por josemi
Hola,

Bueno, no se que tal funcionara con cadenas estilo:

[ URL= ]www.sitio.com[ /URL ]
[ URL=www.sitio.com ]PePe ][, el retorno[ /URL ]
[ URL=esto no es una URL valida ]www.sitio.com[ /URL ]
[ URL=www.sitio.com ][ /URL ]

Ya se que estan hechas a mala leche, pero los usuarios son peores. Ademas, parte del hecho de que tienes ya aislada esa parte del texto.

En fin, que creo que la mejor solucion seria investigar las RegExp.

Suerte.
Hola a todos, josemi creo que se puede mejorar el script para solucionar los errores de usuarios
Cita:
[ URL= ]www.sitio.com[ /URL ]
[ URL=www.sitio.com ]PePe ][, el retorno[ /URL ]
[ URL=esto no es una URL valida ]www.sitio.com[ /URL ]
[ URL=www.sitio.com ][ /URL ]
Voy a haber si lo mejoro el script, un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
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 11:15.