Foros del Web » Programando para Internet » PHP »

Convertir textos en Link...

Estas en el tema de Convertir textos en Link... en el foro de PHP en Foros del Web. Tengo un problema... hice un foro pero un pequeño problema... Yo quiero que una direccion que pondan los usuarios por ejemplo www.supagina.com se convierta en ...
  #1 (permalink)  
Antiguo 13/04/2006, 11:55
Avatar de ivaanadame  
Fecha de Ingreso: agosto-2005
Ubicación: México
Mensajes: 141
Antigüedad: 19 años, 3 meses
Puntos: 0
Busqueda Convertir textos en Link...

Tengo un problema... hice un foro pero un pequeño problema...

Yo quiero que una direccion que pondan los usuarios por ejemplo www.supagina.com se convierta en URL directamente pero no al publicarla sino que cuando aparezca algo tipo

replace()

Pero no tengo idea...
__________________
Recetas de Cocina | http://www.comidasypostres.com
  #2 (permalink)  
Antiguo 13/04/2006, 12:47
Usuario baneado!
 
Fecha de Ingreso: marzo-2006
Ubicación: Cd. de México
Mensajes: 44
Antigüedad: 18 años, 7 meses
Puntos: 0
En php hay una funcion str_replace():

php-es.com/function.str-replace.html

Código:
<?php
$palabra=str_replace("HOLA", "ADIOS", $palabra);
?>
Lo que hace esta funcion es que "HOLA" la convierte en "ADIOS" de la variable $palabra (que asi se llamaria tu area de texto) y puedes poner mas:

Código:
<?php
$palabra=str_replace("HELLO", "GOOD BYE", $palabra); //ingles
$palabra=str_replace("BONJOUR", "AU REVOIR", $palabra); //frances
$palabra=str_replace("HALLO", "AUF WIEDERSEHEN", $palabra); //aleman
?>
Saludos
  #3 (permalink)  
Antiguo 13/04/2006, 14:44
Avatar de ivaanadame  
Fecha de Ingreso: agosto-2005
Ubicación: México
Mensajes: 141
Antigüedad: 19 años, 3 meses
Puntos: 0
mmm...

Gracias ing amc, creo no me explique bien, si se utilizar la function replace, el detalle es como utilizarla para convertir un:

www.domunio.com
a
<a href=http://www.dominio.com>www.dominio.com</a>
__________________
Recetas de Cocina | http://www.comidasypostres.com
  #4 (permalink)  
Antiguo 20/08/2006, 09:30
Avatar de Riven-Ward  
Fecha de Ingreso: julio-2006
Mensajes: 33
Antigüedad: 18 años, 3 meses
Puntos: 0
Joder ING_AMC estás acostumbrado a pasarle links a la gente... Asi hasta mi hermana chica puede ayudar :P.

Aunque como bien te dijo... Debes usar expresiones regulares, mas específicamente la funciónn preg_replace().

Obviamente obtienes tus datos, por ejemplo en la variable $a, y luego haces algo asi:

Código PHP:
$a preg_replace ("/\[url=((http:\/\/(www\.)?)([a-z](.)+)\.([a-z]{2,4}))\]([a-z].+)\[\/url\]/iU","<a target=\"_blank\" href=\"\\1\">\\7</a>",$a); 
Funciona asi: Primero debe partir con [url= sitio] y luego tiene que haber algo escrito, cualquier cosa. Después viene el .algo . Y obviamente después se cierra con [/url ].

Este patrón que hice recién no es muy eficiente. Pero te recomendaría leerte el manual sobre expresiones regulares de PHP, y podrás entenderlo mejor :) www.php.net/pcre

Salu2!
  #5 (permalink)  
Antiguo 21/08/2006, 02:56
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 19 años, 5 meses
Puntos: 7
O con ereg_replace, de echo si en tu caso es que la direccion la meten en medio de un texto, seria algo asi:

Código PHP:
<? $textoereg_replace("(^| )(www([.]?[a-zA-Z0-9_/-])*)""\\1<a href=\"http://\\2\" target='_new' class='enlint'>\\2</a>"$texto);?>
esto hara que en el texto en cuestion, donde aparezca la direccion esta se transforme en un enlace.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:08.