Te dejo un código muy rápido que hice y hay que optimizarlo y mejorarlo:
Código PHP:
Ver original<?php
$str = 'buscar en google';
$url = '';
if (preg_match('@^http://www[^\s]+$@i', $str, $m)) { //si empiezan con http://www $url = $m[0];
} else if (preg_match('@^http://([^\s].+)+$@i', $str, $m)) { //si empiezan con http:// $url = 'http://www.' . $m[1];
} else if (preg_match('@^www\.[^\s]+$@i', $str, $m)) { //si empiezan con www. $url = 'http://' . $m[0];
} else if (preg_match('@^[a-z]+\.[a-z]{2,3}(\.[a-z]{2,3})?$@i', $str, $m)) { //si es forosdelweb.com solo $url = 'http://www.' . $m[0];
} else {
$url = 'http://www.google.com/q=' . urlencode($str); //Sino la url de búsqueda en google }
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.