Foros del Web » Programando para Internet » PHP »

Convertir datos en URLs si corresponde

Estas en el tema de Convertir datos en URLs si corresponde en el foro de PHP en Foros del Web. mi duda es la siguiente: tengo un formulario que ingresa datos (son noticias) a una bd (mysql), y después les hago un echo... lo que ...
  #1 (permalink)  
Antiguo 07/06/2005, 12:09
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998
Convertir datos en URLs si corresponde

mi duda es la siguiente:
tengo un formulario que ingresa datos (son noticias) a una bd (mysql), y después les hago un echo... lo que deseo hacer es que si por ejemplo el campo tiene un http://enlace.algo o www.enlace.algo lo transforme en un enlace... en las FAQs vi algo pero la verdad que no entiendo como esta hecho, y scripts que no entiendo la verdad que me da algo de flojera implementarlos...

PD I: googleando no encontré nada, al ser palabras muy comunes me sale cualquier otra cosa...
PD II: supongo que se podrá hacer con str_replace o similar, ¿no?
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #2 (permalink)  
Antiguo 07/06/2005, 12:25
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 8 meses
Puntos: 15
lamentable mente ese link donde fuiste que hace lo que deseas hacer esta listo para usarlo y si no lo usas es porque en realidad no quieres y si lo usas ya te ubieras ahorrado tiempo que llevas perdido por no tratar de aprender cosas nuevas y entender cosas nuevas.

La idea de ver lo que otros hacen es aprender mas que nada y si te dan un codigo como ese ya listo es una gran ventaja, muchos quizas no te ayudaran mucho sabiendo que ese link que diste te resuelve tus problemas.
  #3 (permalink)  
Antiguo 07/06/2005, 13:34
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998
Cita:
Iniciado por dwaks
La idea de ver lo que otros hacen es aprender mas que nada
Comparto pero...

Cita:
y si no lo usas es porque en realidad no quieres
si no lo uso es porque no lo entiendo... la "clave" de la programación no es copiar cuaquier script que tengas a tu alcance, sino entender lo que estas copiando, sino no te sirve "de nada"...

Cita:
muchos quizas no te ayudaran mucho sabiendo que ese link que diste te resuelve tus problemas.
Cambio entoces la forma de la pregunta (quizás la formulé mal, consideren que estoy sin )... ¿como es el "modus operantis" de ese script? porque la verdad que me pierdo entre tanta \ y / y no lo entiendo na de na... y coincidirás conmigo que si no lo entiendo no voy a poder aprender...

acabo de leer esto sobre preg_replace pero no capto la idea... ¿alguien sería tan amable de explicar como funciona esa función?

PD: por más que me intersa tenerlo funcionando lo que más me interesa ES ENTENDERLO, espero que se entienda (vaya juego de palabras)
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #4 (permalink)  
Antiguo 07/06/2005, 13:41
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 8 meses
Puntos: 15
Bueno te dire la verdad jeje yo aun no entiendo a fondo los expresiones regulares eso solamente eso es un mundo, pero la funcion preg_replace lo que hace es reemplazar o reordenar un texto segun las normas de expresion regular que uno le ponga.

Para aprender expresiones regulares deberas ir a google y buscar informacion, las expresiones regulares en si no es standar en todos los lenguajes pero ya casi llega a serlo asi que eso te lleva a buscar expresiones regulares en php cosas mas especificas.

La funcion lo que hace es reemplazar o reordenar como te dije anteriormente pero las expresiones que se usen entonces eso es cosa de aprender a crear normas en expresiones regulares.
  #5 (permalink)  
Antiguo 08/06/2005, 03:42
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Aplaudo la actitud de webosiris de, más que de utilizar "algo", entenderlo... (y que alguien me explique lo que dije ).

... dejo un enlace sobre expresiones regulares: http://www.ignside.net/man/php/regex.php

Espero sea útil y educativo ... Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 08/06/2005, 20:16
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998
Cita:
Iniciado por jam1138
... dejo un enlace sobre expresiones regulares: http://www.ignside.net/man/php/regex.php
Gracias jam, no conocía esa web, voy a leer y a googlear un poco sobre expresiones regulares y ya les contaré

__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #7 (permalink)  
Antiguo 09/06/2005, 14:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Sólo un comentario al respecto ..

Resulta que el tema concreto "Expresiones regulares" no es própio de PHP .. sino que también lo puedes usar desde otros lenguajes: Perl .. no sé si es originario de este pero PHP puede usar la misma sintax que Perl para controlar expresiones regulares, en javascript también puedes usarlas, C .. y la mayoría de lenguajes.

Sólo hago el comentario al respecto para enfocar el aprendizaje como "tema" concreto y luego su implementación bajo PHP que para ello PHP dispone de un par de grupos de funciones para trabajarlas que lo describe en parte el tutorial que ya citaron Uds.

Un saludo,
  #8 (permalink)  
Antiguo 19/06/2005, 07:05
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998
acá les dejo algo que resuelve mi duda y encontré de casualidad, igual el enlace de ignside me fue de utilidad para comprender la "globalidad"
Por ahora no tengo suficiente tiempo para meterme de lleno en las expresiones regulares, pero algún día lo haré, es una promesa

CONVERTIR URL
http://www.electros.net/?ver=tutoriales&t=16

CONVERTIR CÓDIGO - (Estilo BBCode)
http://www.electros.net/?ver=tutoriales&t=17

__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #9 (permalink)  
Antiguo 19/06/2005, 12:33
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
Puntos: 2
Solo una acotación, ese codigo no toma cuando la URL tiene mas de 1 variable, ejemplo:
http://www.mipagina.com/?mod=espero&otra=var daría como resultado http://www.mipagina.com/?mod=espero

Saludos.
__________________
I Love Programming...
  #10 (permalink)  
Antiguo 20/06/2005, 01:45
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998
Cita:
Iniciado por FuLaNo_
Solo una acotación, ese codigo no toma cuando la URL tiene mas de 1 variable
Yo lo porbé (con tu ejemplo) y funcionó. Además http:\/\/[^\s] significa "que puede contener cualquier caractér excepto espacios en blanco (el comodín \s equivale a espacios, tabulaciones y saltos de línea)" osea que puede contener & ? etc.
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #11 (permalink)  
Antiguo 20/06/2005, 02:02
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
Puntos: 2
Pues a mi no me funciona...

http://www.dominio.com.ar/?mod=afa&sub=partido me devuelve http://www.dominio.com.ar/?mod=afa

Lo estoy probando por GET, será ese el problema?, pues para mi el problema es que & debe indicar otra cosa en exreg...
__________________
I Love Programming...
  #12 (permalink)  
Antiguo 20/06/2005, 04:25
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998
yo el & lo tengo en código html, quizás sea por eso, no se...

aquí otra duda que tengo, quien la pueda solucionar se merece mi eterno agradecimiento, unas cervecitas si es hombre, y unas cervecitas y mi si resulta ser una dama
¿como hago el código estilo BBCode para cuando tengo [url=http://www.algo.com]Mi enlace[ /url]?
Estaría perfecto si también la url pudiera empezar por www y si se pudiera discriminar entre enlaces internos y externos, como el código que esta en las FAQs... busque en un montón de lados pero no aparece como hacer esto... me fijé en el código del archivo bbcode.php de un foro PHPBB... para qué, tiene como 800 líneas...
Gracias.
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #13 (permalink)  
Antiguo 20/06/2005, 12:21
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 8 meses
Puntos: 15
Url con variables

Aqui dejo esta expresion regular que hize para manejo de url con variables., aparte no es importante la www ya que puede ser subdominio tambien., detalles como http,ftp,htpps es aceptado.

Cualquier error que encuentren me avisan que lo reparo.
Código PHP:
<?php
$url 
"Aqui va un dominio de prueba http://www.dominio.com/index.php?id=500&id2=300 que pueden cambiar cuando quieran.";
$ruta ereg_replace("(http|ftp|https:\/{2})((w{0,3}\.{0,1}).*\.(net|com|org)\/{0,1}[a-zA-Z]{0,10}\.{0,1}[a-zA-Z]{0,4}\?{0,1}([a-zA-Z]{0,10}={0,1}[0-9a-zA-Z]{0,50}&{0,1}){0,10})","<a href=\"\\0\">\\1\\2</a>",$url);
echo 
$ruta;
?>
  #14 (permalink)  
Antiguo 20/06/2005, 14:18
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 20 años, 11 meses
Puntos: 2
Como puedo ilimitar el dominio?, es decir, en lugar de que tenga que ser .com, .net o.org que pueda ser cualquiera? (se que puedo agregar dominios a la lista, pero para que si los quiero todos?
__________________
I Love Programming...
  #15 (permalink)  
Antiguo 22/12/2005, 04:28
Avatar de deccweb  
Fecha de Ingreso: febrero-2003
Ubicación: Mataro
Mensajes: 365
Antigüedad: 21 años, 2 meses
Puntos: 0
y si es http://www.bmw2002.co.uk/Z100002.jpg ?
__________________
Calle17.net

edgargranados.es
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 20:39.