Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/03/2012, 20:46
Avatar de andresdzphp
andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: expresiones regulares php

Te dejo un código muy rápido que hice y hay que optimizarlo y mejorarlo:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $str = 'buscar en google';
  4. $url = '';
  5.  
  6. if (preg_match('@^http://www[^\s]+$@i', $str, $m)) { //si empiezan con http://www
  7.     $url = $m[0];
  8. } else if (preg_match('@^http://([^\s].+)+$@i', $str, $m)) { //si empiezan con http://
  9.     $url = 'http://www.' . $m[1];
  10. } else if (preg_match('@^www\.[^\s]+$@i', $str, $m)) { //si empiezan con www.
  11.     $url = 'http://' . $m[0];
  12. } else if (preg_match('@^[a-z]+\.[a-z]{2,3}(\.[a-z]{2,3})?$@i', $str, $m)) { //si es forosdelweb.com solo
  13.     $url = 'http://www.' . $m[0];
  14. } else {
  15.     $url = 'http://www.google.com/q=' . urlencode($str); //Sino la url de búsqueda en google
  16. }
  17.  
  18. echo $url;

Tal vez con otras funciones de url se pueda mejorar más y por lo menos te debe dar una idea de como solucionar tu problema.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 17/03/2012 a las 22:48