This loosely validates a field's value to check that it is a URL.

  $url = $form_values['submitted_tree']['web_site'];

  $urlpattern = '/^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/';

  if (strlen(trim($url)) > 0) {
    if(!preg_match($urlpattern, $url)) {
      form_set_error('submitted][web_site', t('Website address is invalid.'));
    }
  };