Goo.gl рдХреЗ рд▓рд┐рдП PHP рд╡рд░реНрдЧ

рдЫрд╡рд┐

рдФрд░ рдлрд┐рд░ рд╕реЗ Goo.gl рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛ред рдЬреЗрдПрд╕ рдкрд░ рдПрдХ рд╣рд╛рдмрд░рд╛ рдЖрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрддреНрддрд╛ рдЪрдврд╝рд╛рдирд╛, рд▓реЗрдХрд┐рди рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рд╕реВрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЖрдЬ, рд╕рдВрдпреЛрдЧ рд╕реЗ, рдореИрдВ рдПрдХ рд╕рдорд╛рдзрд╛рди рдкрд░ рдареЛрдХрд░ рдЦрд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдЖрдХрд░реНрд╖рдХ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВ рдЬрдирддрд╛ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реВрдВ ...



<?php //      ;) if (!function_exists('curl_init')) trigger_error('CURL is not installed'); /** * GoogleURL * *       Goo.gl * * @author Bas van Dorst <info@basvandorst.nl> * @version 1.0 * @package Google */ class GoogleURL { /** *  Google URL shortener API * @var string */ private static $_api = "http://goo.gl/api/shorten"; /** *  Curl * @var int */ private static $_curl_timeout = 5; /** * URL-regex (http://flanders.co.nz/2009/11/08/a-good-url-regular-expression-repost/) * @var string */ private static $_urlregex = '/(?:(?:ht|f)tp(?:s?)\:\/\/|~\/|\/)?(?:\w+:\w+@)?(?:(?:[-\w]+\.)+(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[az]{2}))(?::[\d]{1,5})?(?:(?:(?:\/(?:[-\w~!$+|.,=]|%[af\d]{2})+)+|\/)+|\?|#)?(?:(?:\?(?:[-\w~!$+|.,*:]|%[af\d{2}])+=(?:[-\w~!$+|.,*:=]|%[af\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[af\d{2}])+=(?:[-\w~!$+|.,*:=]|%[af\d]{2})*)*)*(?:#(?:[-\w~!$+|.,*:=]|%[af\d]{2})*)?/'; /** *   URL ,   Goo.gl URL. * * @param string|array $input_url * @return string  ,   URL  . */ public static function shortURL($input_url) { /** *    ,  $input_url   ( shortText) */ $url = ( is_array( $input_url ) ) ? $input_url[0] : $input_url; /** * */ $post_fields = array( "security_token" => "null", "url" => $url ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, self::$_api); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query( $post_fields ) ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_TIMEOUT, self::$_curl_timeout); $output = json_decode( curl_exec($ch) ); // Google  JSON- curl_close($ch); return (isset( $output->short_url )) ? $output->short_url : $url; } /** *     text/HTML-document  Goo.gl  * * @param string $input_text * @return array|null */ public static function shortText($input_text) { return preg_replace_callback( self::$_urlregex, __CLASS__.'::shortURL', $input_text ); } }
      
      







рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╢рдмреНрджреЛрдВ рдХреА рдмрд╣реБрддрд╛рдпрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╕рдм рдХреБрдЫ рдмреЗрд╣рдж рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╕реНрд╡рд╛рд╕реНрдереНрдп рдкрд░ рдЙрдкрдпреЛрдЧ;) рдЬреАрдкреАрдПрд▓ рдЗрд╕рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрддрд╛ рд╣реИ;)



ps

рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ:

  1. рдХрд░реНрд▓ рд╕рдорд░реНрдерди, рдпрд╛ рдлрд┐рд░ рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ
  2. PCRE рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ - рддреЛ рдЕрдкрдиреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ред
  3. JSON рдХреЗ рд▓рд┐рдП, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рднреА рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рд╕рд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред

рдФрд░ рд╕рдм рдХреБрдЫ - php рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ;)



All Articles