Foros del Web » Programando para Internet » PHP »

acortar enlaces de un campo mysql y php

Estas en el tema de acortar enlaces de un campo mysql y php en el foro de PHP en Foros del Web. hola a todos los que me lean tengo un problemilla... tengo un campo llamado links(campo mysql), alli hay texto convertidos a links, todo eso funciona ...
  #1 (permalink)  
Antiguo 09/10/2015, 19:41
 
Fecha de Ingreso: mayo-2014
Ubicación: valparaiso, chile
Mensajes: 34
Antigüedad: 10 años, 7 meses
Puntos: 0
acortar enlaces de un campo mysql y php

hola a todos los que me lean tengo un problemilla...
tengo un campo llamado links(campo mysql), alli hay texto convertidos a links, todo eso funciona bien, pero ahora aparte de convertir ese texto a links quiero que esos links tambien se acorten como por ejemplo :
este es el link normal
https://mega.co.nz/#!IIhXWKRT!_amXjYJ96MbFs6q8MHo3GiW3DQY1nxvas6_B3nE tvfw
y esto es como yo lo quiero:
https://mega.co.nz/#!IIhX...B3nEtvfw
osea que al medio o al final tenga puntos suspensivos

la funcion que me resulto para convertir a links es esta:

Código PHP:
<?php 
$string 
$fila;
function 
plain_url_to_link($string) {
  return 
preg_replace(
  
'%(https?|ftp)://([-A-Z0-9./_*?&;=#!]+)%i'
  
'<a target="blank" rel="nofollow" href="$0" target="_blank">$0</a>'$string);
}
    
?>
y el echo es este:

Código PHP:
<?php echo (plain_url_to_link (nl2br($string['Links']))); ?>
PD:no soy muy experto en php.

espero que alguien me ayude por favor, ya busque en internet y no encontre mucho
  #2 (permalink)  
Antiguo 10/10/2015, 04:43
 
Fecha de Ingreso: enero-2014
Ubicación: Navarra
Mensajes: 94
Antigüedad: 10 años, 11 meses
Puntos: 18
Respuesta: acortar enlaces de un campo mysql y php

Hola.

hay muchas formas de hacer eso, puedes usar la funcion parse_url()
para diseccionar la url.

Código PHP:
Ver original
  1. <?php
  2. $url = "https://mega.co.nz/#!IIhXWKRT!_amXjYJ96MbFs6q8MHo3GiW3DQY1nxvas6_B3nE tvfw";
  3. $direccion = parse_url($url);
  4. $url_corta =  $direccion['scheme'] . '://' . $direccion['host'] . '/#' . substr($direccion['fragment'],0, 8) . "..." . substr($direccion['fragment'],-8);
  5. echo "<a href=\"" . $url . "\">" . $url_corta . "</a>";
  6. ?>
  #3 (permalink)  
Antiguo 10/10/2015, 14:30
 
Fecha de Ingreso: mayo-2014
Ubicación: valparaiso, chile
Mensajes: 34
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: acortar enlaces de un campo mysql y php

gracias por responder sintel_1...
lo hice como tu me dijiste, me acortò la url pero me quedo un solo link y los demas desaparecieron...
Código PHP:
Ver original
  1. $url = $fila['Links'];
  2. $direccion = parse_url($url);
  3. $url_corta =  $direccion['scheme'] . '://' . $direccion['host'] . '/#' . substr($direccion['fragment'],0, 8) . "..." . substr($direccion['fragment'],-8);
  4. echo "<a href=\"" . $url . "\">" . $url_corta . "</a>";
debo decir que hay aproximado 10 links por cada campo que es de de texto varchar
espero ayuda XD

Etiquetas: acortar, campo, enlaces, mysql
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 16:44.