You are here

function link_cleanup_url in Link 6

Same name and namespace in other branches
  1. 5 link.module \link_cleanup_url()
  2. 6.2 link.inc \link_cleanup_url()
  3. 7 link.module \link_cleanup_url()

Forms a valid URL if possible from an entered address. Trims whitespace and automatically adds an http:// to addresses without a protocol specified

Parameters

string $url:

string $protocol The protocol to be prepended to the url if one is not specified:

1 call to link_cleanup_url()
_link_sanitize in ./link.module
Cleanup user-entered values for a link field according to field settings.

File

./link.module, line 630
Defines simple link field types.

Code

function link_cleanup_url($url, $protocol = "http") {
  $url = trim($url);
  $type = link_validate_url($url);
  if ($type == LINK_EXTERNAL) {

    // Check if there is no protocol specified.
    $protocol_match = preg_match("/^([a-z0-9][a-z0-9\\.\\-_]*:\\/\\/)/i", $url);
    if (empty($protocol_match)) {

      // But should there be? Add an automatic http:// if it starts with a domain name.
      $domain_match = preg_match('/^(([a-z0-9]([a-z0-9\\-_]*\\.)+)(' . LINK_DOMAINS . '|[a-z]{2}))/i', $url);
      if (!empty($domain_match)) {
        $url = $protocol . "://" . $url;
      }
    }
  }
  return $url;
}