Dubrovin, хеши не будут "как можно более короткими".
Тогда рассмотрите еще вариант:
Создать таблицу в базе для хешей.
Получить хеш - сохранить его в базе.
Из базы получить целочисленный ID хеша.
Перевести ID в 52-ричную систему счисления (26 * 2 букв латинского алфавита)
Полученное 52-ричное число использовать в качестве ключа и имени класса.
Dubrovin, а использование алфавита a-zA-Z для того, чтобы получить корректное имя css класса, которое не может начинаться с цифры?
Можно просто использовать всё тот же MD5, добавив один символ в начале:
$hash = 'v' . md5($content);
Такой хеш всегда можно использовать в качестве имени css класса.
Semmy_99, нет, конечно =) Это в адрес тёмных дельцов.
Вы помните, как раньше было клёво, когда зайдешь на левый сайт и весь монитор заполоняется десятками авто-открытых окон с порнухой?
Иван Будаков, Честно говоря, я не помню, чтобы поведение было иным в других версиях. array_shift всегда принимала агрумент по ссылке, и туда нельзя было, передавать ничего кроме переменной.
Возможно у вас просто был отключен вывод ошибок. В данном контексте эта ошибка проблем не доставит, если ее просто подавить. Собственно это не ошибка, и даже не предупреждение, а так, уведомление о не совсем некорректном коде.