6 полезных PHP фрагментов кода

      PHP

Здравствуйте уважаемые читатели XoZblogа! В одной из предыдущих статей я уже описывал несколько полезных PHP вставок кода. Так вот в продолжение той темы, 6 полезных PHP фрагментов кода. Вы можете использовать их в таком виде или добавить в какой-то Ваш класс.

Извлечение адресов email из текста

Когда-либо задавались вопросом, как спаммеры могут получать Ваш адрес электронной почты? Это просто, они рассматривают веб-страницы (такие как форумы), точнее код html, чтобы извлечь адреса электронных почт. Эта функция принимает в качестве параметра строковую переменную, и печатает все электронные письма, содержавшие в строке.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function extract_emails($str){
    // Это регулярное выражение извлекает все электронные письма из строки:
    $regexp = '/([a-z0-9_\.\-])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,4})+/i';
    preg_match_all($regexp, $str, $m);

    return isset($m[0]) ? $m[0] : array();
}
// Тестовый текст
$test_string = 'This is a test string...
        test1@example.org

        Test different formats:
        test2@example.org;
        <a href="test3@example.org">foobar</a>
        <test4@example.org>

        strange formats:
        test5@example.org
        test6[at]example.org
        test7@example.net.org.com
        test8@ example.org
        test9@!foo!.org
        foobar
'
;
// Получаем список адресов
print_r(extract_emails($test_string));

Определение числа читателей в Twitter

Что нужно чтобы узнать количество Ваших читателей в Twitter? Ну во-первых Twitter аккаунт, а во-вторых вот эта PHP функция) Параметром для функции является имя пользователя!

1
2
3
4
5
6
7
8
9
10
11
function get_followers($twitter_id){
   $xml=file_get_contents('http://twitter.com/users/show.xml?screen_name='.$twitter_id);
   if (preg_match('/followers_count>(.*)</',$xml,$match)!=0) {
      $tw['count'] = $match[1];
   }

   return $tw['count'];
}
// Передаем функции имя пользователя, и узнаем количество читателей
$twitter = "XoZblog";
echo get_followers($twitter);

Создание временного URL из строки

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

1
2
3
4
5
6
function create_slug($string){
   $string = strtolower($string);
   $slug=preg_replace('/[^a-z0-9-]+/', '-', $string);
   return $slug;
}
echo create_slug('Create Simple Slug URL');

Преобразование значения HEX в RBG

Если у Вас есть задача получить значения RGB цвета, преобразованного из Шестнадцатеричного HEX номера цвета, это — функция для Вас.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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);

Вывести на экран изображение пользователя Gravatar

Получить изображений пользователя Gravatar просто. Если у Вас есть адрес электронной почты пользователя, Вы должны захешировать email в MD5 и добавить его к gravatar URL.

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

Удаление ссылок из текста

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

1
2
3
$string = 'Это тестовая строка с ссылками: https://xozblog.ru и еще http://google.com';
$string = preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i', '', $string);
echo $string;

P.S.: Вы много находитесь в интернете?! Не забудьте выполнять очистку компьютера от временных и куки файлов. В этом Вам поможет программа ccleaner.

На этом все! Если возникнут вопросы или предложения пишем комментарии! До связи )

Чтобы оставаться в курсе свежих статей и уроков подписывайтесь на еженедельную почтовую рассылку или на новостную ленту RSS. Спасибо!