Цвет элемента в зависимости от содержимого строки, PHP скрипт

20.01.2019

Цвет элемента в зависимости от содержимого строки, PHP скрипт

Рубрика: Разработчику

Предлагаем ознакомиться с небольшой, но полезной PHP функцией, выводящий код цвета HEX в зависимости от содержимого строки. Данный скрипт может пригодиться, например, в оформлении списка пользователей без аватаров, списка сообщений или другом модуле.

Чтобы выделить пользователей, мы применили данный скрипт:

Добавляем PHP функцию:

function get_color($str){
 $del_let = ['g','h','i','k','l','m','n','o','p','q','r','s','t','v','x','y','z'];
 $color = '#' . substr(str_replace($del_let, '', md5($str)), -6);
 return $color;
} 

 

Добавляем элемент у которого нужно изменить цвет:

<div style="background:<?php echo get_color('Ваш текст или переменная');?>;"> </div>

 

Принцип работы функции заключается в получении MD5 хеша строки, удалении из него символов, неучавствующих в формировании HEX кода цвета, и обрезке колученного результата до 6 символов с конца или с начала строки (для второго варианта замените в функции "-6" на "0, 6").

 

 

 

Возможен второй вариант с использованием 10 предопределенных пользователем цветов:

 

function get_color($str){
 $del_let = ['a','b','c','d','e','f','h','i','k','l','m','n','o','p','q','r','s','t','v','x','y','z'];
 $num 	= substr(str_replace($del_let, '', md5($str)), 0, 1);
 $colors =  array('d22323','d27d23','d2b723','92d223','44d223','23d2b3','239ad2','234cd2','5823d2','9e23d2');
 $color	= '#' . $colors[$num];
 return $color;
}

 

Принцип работы данной функции аналогичен предыдущей за исключением того, что из MD5 хеша удаляются все буквы, а полученный результат обрезается до 1 символа с начала строки, тем самым в итоге значение переменной $num будет в пределах от 0 до 9 включительно.

 

Пример работы скрипта вы можете увидеть на странице http://muststyle.ru/sale

 

(цвет блока с промо-кодом, зависит от значения, например, "FULL20")

 

 

Последние комментарии

Oleg31.05.2024 / 13:07:49
было бы неплохо добавить возможность подключения ...
brochrane30.11.2023 / 14:37:28
I would love to purchase this plugin but I am una...
MUST-STYLE13.09.2022 / 16:55:13
WORKBox CRM ver.1.14 → Исправлена ошибка расчета ...
MUST-STYLE22.04.2022 / 17:00:29
WORKBox CRM ver.1.13 → Добавлена статистика сдело...
MUST-STYLE22.04.2022 / 16:58:10
WORKBox CRM ver.1.12 → В настройки добавлена возм...
Разработка имиджевых сайтов, разработка фирменного стиля, брендбук