"RT @willfrancis: The ultimate near-miss of 2019."

@ashleyford 3 hours ago

"RT @bendhalpern: Client-side validation"

@ashleyford 7 days ago

Designer and web developer, Co-founder and Technical Director at Previously I worked at Spotify, MySpace and InMobi. Contact me - ashley[at]


6 Useful PHP code snippets

A collection of PHP snippets that I regularly use


Here’s a selection of really useful PHP code snippets that I find using on a weekly basis. You could use these as is or expand them as part of other applications or add them to a php class.

Adjust server time

If you have a server in a different timezone to you then you might be seeing funny things happen when you add the time to a MySQL database for example. You can fix this by adding or subtracting hours as in the example below.

$now = date('Y-m-d-G');
$now = strftime("%Y-%m-%d-%H", strtotime("$now -8 hours"));

Create a slug URL from string of text

Here we’re passing in a simple string of text converting it to lowercase and replacing all the spaces with a dash.

function create_slug(strtolower($string)){
$slug=preg_replace('/[^a-z0-9-]+/', '-', $string);
return $slug;

echo create_slug('Create a slug URL from string of text');

Convert HEX value to RBG

If you’ve ever need to get an RGB colour format converted from a Hexadecimal this is the function for the job.

function hextorgb($hexvalue){
if($hexvalue[0] == '#') {
$hexvalue = substr( $hexvalue, 1);
if(strlen( $hexvalue ) == 6){
list($r, $g, $b) = array($hexvalue[0] . $hexvalue[1], $hexvalue[2] . $hexvalue[3], $hexvalue[4] . $hexvalue[5]);
}elseif (strlen($hexvalue) == 3) {
list($r,$g,$b) = array($hexvalue[0] . $hexvalue[0], $hexvalue[1] . $hexvalue[1], $hexvalue[2] . $hexvalue[2]);
return false;
$r = hexdec($r);
$g = hexdec($g);
$b = hexdec($b);
return array('R' => $r, 'G' => $g, 'B' => $b);

$rgb = hextorgb('#fff000');


Display a users Gravatar image

Getting users images from Gravatar is simple. If you have the users email address you just need to MD5 hash it and append it to the gravatar URL.

$gravatar = '' . md5($email_address) . '?s=32';
echo '<img src="' . $gravatar . '" width="32" height="32"/>';

Convert links in a string of text to hyperlinks

Very useful function which will convert a string of text and ad hyperlinks to all the URLs. We loop through each URL and add a hyperlink

function url_to_link($text){

$reg_exUrl = "/(http|https|ftp|ftps)://[a-zA-Z0-9-.]+.[a-zA-Z]{2,3}(/S*)?/";
// Check if there is a url in the string
if (preg_match_all($reg_exUrl, $text, $url)) {

foreach($url[0] as $v){

$position = strpos($text,' '.$v)+1;
$text = substr_replace($text,'', $position, strlen($v));
$text = substr_replace($text,''.$v.'', $position ,0);
return $text;
else {
// if no urls in the text just return the text
return $text;

$string = 'This is a string of text and we have a link: we also have another link';
echo url_to_link($string);

Parse JSON in PHP

Parsing a string of JSON is easier than you may think as we can use the json_decode() function in PHP which will convert the JSON into an array in PHP which we can then manipulate as needed.

$json ='{"id":0,"name":"Ashley","surname":"Ford","Website":""} ';


// print the array
echo $array->name;

Designer and web developer, Co-founder and Technical Director at Previously I worked at Spotify, MySpace and InMobi. Contact me - ashley[at]

Comments 9
  • Prabakar
    Posted on

    Prabakar Prabakar

    Reply Author

    useful tutorial.

  • Voyagewave
    Posted on

    Voyagewave Voyagewave

    Reply Author

    Setting up server time is useful snippet and json decoding one too. thanks

  • sonu sindhu
    Posted on

    sonu sindhu sonu sindhu

    Reply Author

    unreliable script nice work
    Thanks for many many help for this..

  • saha
    Posted on

    saha saha

    Reply Author

    Very useful code snippets. I’ll use adjust server time code and code Display a users Gravatar image. Thanks for sharing these code snippets.

  • phphunger
    Posted on

    phphunger phphunger

    Reply Author

    i will add these to my library…great work….

  • Brian
    Posted on

    Brian Brian

    Reply Author

    Awesome post. Would be usful to see snipit #2 in JavaScript form. :)

  • rmmoul
    Posted on

    rmmoul rmmoul

    Reply Author

    As always, good stuff.

    That function for finding links is going into my tool box!

  • Chris
    Posted on

    Chris Chris

    Reply Author

    Nice snippets for beginners. It is worth to mention what slug function is not UTF-8 compliant, and with some characters(chinese, cyrillic, latin extended) it will skip letters.

  • Jeremy
    Posted on

    Jeremy Jeremy

    Reply Author

    Thank you!! You have just made my day!! I will definetly be using at least 4 of these by the end of the day!!