Contributions API

link_cleanup_url

Definition

link_cleanup_url($url, $protocol = "http")
contributions/link/link.module, line 689

Description

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

Code

<?php
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;
}
?>