6 Полезных PHP сниппетов

php

Сниппеты - очень важная вещь при разработке проектов разных размеров. В данной статье будут представлены 6 сниппетов которые было бы полезно добавить в список сниппетов вашей среды разработки, или php класс.

Настройка времени сервера

Если ваш сервер находится в отличной от вашей часовой зоны, вы могли видеть смешные вещи которые происходят, когда вы добавляете время в MySQL базу данных, например. Вы можете исправить это путем сложения или вычитания часов, как в примере ниже.

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

Создание приятного URL из строки текста

Здесь мы вводим простую текстовую строку, переводим в нижний регистр и заменяем все пробелы на тире.

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');

Конвертирование HEX значения в RGB

Если вам нужно будет получить RGB значение из шестнадцатеричного числа — эта функция для данной работы.

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]);
        }else{
                return false;
        }
        $r = hexdec($r);
        $g = hexdec($g);
        $b = hexdec($b);
        return array('R' => $r, 'G' => $g, 'B' => $b);
}

$rgb = hextorgb('#fff000');

print_r($rgb);

Вывод Граватара пользователя

Получение Граватара пользователя реализуется просто. Если у вас есть email адрес пользователя вам нужно перевести его в MD5 хеш и добавить к URL Граватара.

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

Конвертирование ссылок в тексте в гипертекст

Очень полезная функция которая будет конвертировать ссылку в тексте в гипертекст к любому URL адресу. Мы перебираем все URL и добавляем гипертекст.

function url_to_link($text){

            $reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
            // Проверка текста на наличие url
            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 {
                // Если нет url-ов возвращаем текст
                return $text;
            }
        }

$string = 'This is a string of text and we have a link: http://papermashup.com we also have another link http://google.com';
echo url_to_link($string);

Разбор JSON в PHP

Разбор строки JSON легче чем вы могли подумать, так как мы можем воспользоваться PHP функцией json_decode(), которая будет превращать JSON в PHP массив которым мы можем манипулировать, как хотим.

$json ='{"id":0,"name":"Ashley","surname":"Ford",
"Website":"http://papermashup.com"} ';

 $array=json_decode($json);

 // вывод массива
 print_r($array);
 echo $array->name;

Источник: http://papermashup.com/6-useful-php-code-snippets/

2 комментариев

  1. ananimus:

    function create_slug(strtolower($string)){
    ЛОЛШТО

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>