Instantly share code, notes, and snippets.

View [php] get domain name
$url = (substr($url, 0, 4) != 'http') ? 'http://'.$url : $url;
$url = preg_replace('~\.(com|info|net|io|us|org|me|co\.uk|ca|mobi)\b~i','',parse_url($url)['host']);
$url = substr($url,strrpos($url,'.')+1);
// examples:
// ''; // returns: google
// ''; // returns: facebook
View [PHP] pls_GetStreamPath()
// pls_GetStreamPath()
// - Description:
// Acquire the stream path of a .pls file
// - Usage:
// $streamPath = pls_GetStreamPath($uri);

Keybase proof

I hereby claim:

  • I am johnabela on github.
  • I am abela ( on keybase.
  • I have a public key whose fingerprint is 7F34 2BFD 1390 9ED5 8C9B 499E B820 FC3A DCB4 59BE

To claim this, I am signing this object:

View [PHP] Validate (intl) Email Address
We live in a world where internationalization is becoming more and more important for website developers to be conscience of.
RTF standards are a mess, we can all agree on that.
Attempting to validate email addresses, based on RTF standards, is simply impossible if you want to accept non utf-8 formatted email addresses.
Never trust the browser to properly handle utf-8 parsing.
Never trust php to properly handle utf-8 parsing, it is usually worse than the big three browsers.
View [PHP] Get Domain From Email Address (multiple @ symbol support)
// too many php developers use the example on the php `strstr` page:
// Yet, amazingly, the following is a valid email address:
// foo@bar@domain.tld
// If you use the example on the strstr page you end up with:
// @bar@domain.tld -- which is of course not what you want.
// So what is a fast and extremely low memory method to return
// just the domain.tld when? The following seems to be the best.
$email = 'foo@bar@domain.tld';
View Power of (U)GUID Lengths
If you use your own (U)(G)UID generator for unique identifiers, say UserGUID or WidgetGUID or whatnot, there is very little chance you are ever going to need to use something like `md5(time())` or `bin2hex(random_bytes(5))` or whatever.
Using just a very basic (and all lowercase) `a-z` & `0-9` combination will result in a 36 character string.
abcdefghijklmnopqrstuvwxyz0123456789 = 36 characters
If we take those 36 characters to the `power of` we get the follow possible unique vales:
[1] = 36
[2] = 1,296
View htaccess domain.tld{dash}usersname
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(register|contact|signin|policies) [NC]
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ /profile.php?id=$1 [L,QSA]
View [PHP] Are All Characters Identical?
$word = 'dddddd';
if (empty(str_replace(mb_substr(trim($word),-1),'',trim($word)))) {
die('all the characters are identical');
View [PHP] Jewish Date (in english)
$Today = gregoriantojd(date('n'),date('j'),date('Y'));
$Month = jdmonthname($Today,4);
$Date = jdtojewish($Today);
list($notused, $Day, $Year) = explode('/',$Date);
echo "$Month $Day, $Year";
View [PHP] Loop Dates Backwards
$start = new DateTime('now');
$end = new DateTime('- 7 day');
$diff = $end->diff($start);
$interval = DateInterval::createFromDateString('-1 day');
$period = new DatePeriod($start, $interval, $diff->days);
foreach ($period as $date) {
echo $date->format('m-d') . '<br>'; // or whatever you want to do