entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Sugerencia sobre acortar links para compartir en Twitter

Buenas noches, necesito una forma para acortar los links de referencias a las noticias de la página web que estoy desarrollando para compartirlos en Twitter y he pensado en hacer un algoritmo que comience a hacer un aumento de [a-zA-Z][0-9] y crear una tabla de redirect con id->int autoincrement, short->varchar, url_verdadera->url del articulo entonces cuando lleguen por el camino del corto buscarlo en la tabla mostrar la noticia en el url-verdadero.
los más experiementados en este mundo web que me indican ??
Saludos Dairon

1 Respuesta

3votos

Leonardo-Tadei Puntos227320

Mi sugerencia es que no lo hagas ;-)

Usá la API de algún servicio acortador de URL, de los varios que hay... esto te evitará además el problema de generar URL cortas que no sean consecutivas, que nunca es buena idea.

Te dejo acá un enlace a código PHP para acortar URLs que usa la API de Google

http://xandrusoft.blogspot.com.ar/2011/09/acortador-de-urls-googl-api-para-php.html

Saludos!

PD: si para aprender querés montar tu propio acortador de URL, podemos discutirlo... tampoco es algo complicado, pero consumís tu propia CPU y tu propio almacenameinto.

0voto

white comentado

Tambien estoy de acuerdo con @Leonardo, si la intension es aprender como realizar esto, puedes revizar varios proyectos y ver como funcionan, de ahi puedes partir a hacer el tuyo.

https://github.com/search?utf8=%E2%9C%93&q=php+short+url

En twitter la cantidad de caracteres es importante, asi que ese podria ser el motivo por el que buscas acortar el enlace, aunque twitter acorta automaticamente los enlaces a t.co, se busca mas espacio para el post, piensas tener un dominio propio corto para este sistema?

0voto

dairon comentado

me gustaría hacer el algoritmo por mi mismo para aprender y mis urls son muy largas tienen este formato: nombredelsitio/abreviatura_idioma/seccion_noticiosa/titulo_de_la_noticia_convertido_a_uri_amigable vez es muy larga

0voto

Leonardo-Tadei comentado

y ya tenés un nombre de dominio corto para lanzarlas?

Las URL acortadas tendrán un tiempo de vida o serán para siempre?

0voto

dairon comentado

tengo el mismo nombre de mi sitio, y el acortado pienso hacerlo para siempre guardandolo en una tabla de la base de datos que cree maestro ?? seria así radiosantacruz.icrt.cu/s/url_cortica donde buscare en la tabla la url cortica a cual url real le pertenece y entonces utiloso el redirect de codeigniter

0voto

Leonardo-Tadei comentado

Dairón,

hay por supuesto varias formas válidas de hacer un acortador de URLs. Te paso unas pautas para implemetarlo, teniendo en cuenta de que los URL acortados exhiban cierta aleatoriedad y evitar repeticiones.

1) tabla para guardar las URL cortas:

id (INT auto-incremental)
url (VARCHAR 120)
shortly (varchar 32 - KEY Unique)

2) mecanismo para acortar la URL: hacés un MD5 de la URL, sin el nombre de dominio:
/abreviaturaidioma/seccionnoticiosa/titulodelanoticiaconvertidoauri_amigable se transforma en 3dac85b8f2df600a8f949e329560275b

3) del resultado, te quedás con los primeros 8 caracteres, en este caso 3dac85b8 y los guardás

4) en caso de estar repetidos, corrés un char a la derecha, es decir dac85b8f y así hasta encontrar una cadena no repetida.

4 bis) en el caso de que analizando las 24 posiciones estén todas ocupadas, tomás segmentos de a 9 char y aplicá el mismo algoritmo.

Optimización: analizás cada tanto la longitud de las nuevas URL cortas, y si son frecuentemente de 9 caracteres, directamente comenzás buscando de 9 de longitud.

5) Al modificar o borrar una entrada, borrás el URL corto para dejarlo disponible.

Uso: creás un index.php en dominio/s y con reescritura de URLs de Apache transformás cualquier cosa que llega en un parámetro GET, por ejemplo, transformás dominio/s/3dac85b8 en dominio/s/index.php?u=3dac85b8
Con ese parámetro, buscás en la tabla y si existe, redireccionás al URL real almacenado.

Saludos cordiales!

0voto

dairon comentado

un millon de Gracias Maestro Tadei por brindarme su tiempo y experiencia, yo tengo pensado cunado termine el sitio comenzar a convertirlo en un CMS para github no se cuanto tiempo me tome, pero lo quiero hacer ya que no tengo título de informático y también me siento muy agradecido con la comunidad de desarrolladores y de todos los que comparten conocimiento en internet.
Saludos Dairon

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta