Skip to content

Instantly share code, notes, and snippets.

@georgymh
Created August 6, 2015 06:40
Show Gist options
  • Save georgymh/b71430021e754b4132ce to your computer and use it in GitHub Desktop.
Save georgymh/b71430021e754b4132ce to your computer and use it in GitHub Desktop.
Functions to get social media handlers from URL.
<?php
/*
Right now it only works with Facebook, Twitter, and Instagram.
Very very beta version. Treat softly :)
*/
function getFacebookHandlerFromURL($fbURL) {
$lowercaseURL = strtolower($fbURL);
$positionOfDotCom = strpos($lowercaseURL, ".com/");
if ($positionOfDotCom === false) {
return $fbURL;
} else {
$partsOfURL = explode(".com/", $lowercaseURL);
$secondPartOfURL = $partsOfURL[1];
// Case: /pages/handler
$positionOfPagesTextInURL = strpos($secondPartOfURL, "pages/");
if ($positionOfPagesTextInURL === false) {
// No 'pages' in url.
$fbHandler = $secondPartOfURL;
// Case: /handler/ (note: only if URL doesn't have '/pages/')
$firstSlashAfterHandler = strpos($fbHandler, "/");
if ($firstSlashAfterHandler !== false ) {
$fbHandler = substr($fbHandler, 0, $firstSlashAfterHandler);
}
} else {
// We're dealing with a FB pages.
$fbHandler = substr($secondPartOfURL, 6);
}
// Case: /handler?action=value
$firstQuestionMarkOnHandler = strpos($fbHandler, "?");
if ($firstQuestionMarkOnHandler !== false) {
$fbHandler = substr($fbHandler, 0, $firstQuestionMarkOnHandler);
}
return $fbHandler;
}
}
function getTwitterHandlerFromURL($twtURL) {
return getFacebookHandlerFromURL($twtURL);
}
function getInstagramHandlerFromURL($igURL) {
return getFacebookHandlerFromURL($igURL);
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment