This is PHP function split_url_fuction() writter for twitter like application that i am developing, useful to split URL from the updated sentence(posted message), then URL changing like tinyurl and link to the resource.
This function is break up the URL from the sentence, if the URL string length greater than 30 words it's change like TinyURL.
Live Demo
Step 1. You have to include the file split_url_function.php into the PHP file that will use the function.
include("split_url_function.php");
Now you have to pass the updated data:
<?php echo split_url_function($message); ?>
Here $message is the value from a SQL query.( Table structure )
This is the code of split_url_funtion() PHP function:
<?php
include("tiny_url.php"); //tinyurl function
function split_url_function($update)
{
//----URL Checking in Update.
$http= substr_count($update,"http://");
$www=substr_count($update,"www.");
$htp=substr_count($update,"http//");
if($http==1)
{
$str="http://";
$h=1;
}
if($www==1)
{
$str="www.";
$w=1;
}
if($h==1 && $w==1)
{
$str='http://www.'; //--Both
}
if($htp==1)
{
$comb_str=$update; //--No url
}
//--- explode the update
$fa=explode($str,$update);
$cnt_fa=count($fa);
$se=explode(" ",$fa[1]);
$cnt_se=count($se);
for($i=1;$i<=$cnt_se;$i++)
{
$sep.=$se[$i].' ';
}
// Split URL
$split_url=$str.$se[0];
if($split_url=='')
{
$final_update=$update;
}
else
{
// URL link sting lenght verfication
if(strlen($split_url)>=30)
{
$tiny = tiny_url($split_url);
$final_update=$fa[0].'<a href="'.$tiny.'" target="_blank">'.$tiny.'</a>'.$sep;
echo $final_update;
}
else
{
// Combine all the explode parts
$final_update=$fa[0].'<a href="'.$split_url.'" target="_blank">'.$split_url.'</a>'.$sep;
echo $final_update;
}
}
}
?>
tiny_url.php Original reference http://davidwalsh.name/create-tiny-url-php
<?php
function tiny_url($url)
{
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,'http://tinyurl.com/api-create.php?url='.$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>
function tiny_url($url)
{
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,'http://tinyurl.com/api-create.php?url='.$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>
Download Source Code Live Demo
If you feel free post a comment.
Related post:
Delete a Record with animation fade-out effect using jQuery and Ajax.
Add Security to your PHP projects using .htaccess file
Twitter Like Parsing URLs with JavaScript.
Nice Work
ReplyDeleteUse http://us.php.net/parse_url
ReplyDeleteBrilliant one. Thanks for sharing.
ReplyDelete