Цветное подчеркивание средствами CSS
Случайно обнаружил способ как сделать цветное почеркивание для текста средствами CSS:
Текст с цветным подчеркиванием!
При этом это не бордер, а именно подчеркивание - можно заметить, что подчеркивание проходит гораздо ближе к тексту чем бордер и иногда пересекается с нижними глифами шрифта.
Сама идея проста до безобразия - делаем красный текст с подчеркиванием, затем у вложенного спана переопределяем текст на черный:
Егор Бычков или к чему приводит борьба с наркотиками
Если вы не хотите жить в стране обезьян-наркоманов, обязательно нужно перепостить, чтобы как можно больше людей было в курсе:
Джордж Карлин о микробах
Нужно будет посмотреть остальные его ролики, ведь здорово излагает...
Заменяем ereg на preg_match
В PHP 5.3 разработчки решили, наконец, избавиться от POSIX регулярных выражений - в самом деле, зачем нужны две библиотеки для работы с регулярными выражениями, если можно обойтись одной? К тому же, POSIX регулярные выражения гораздо медленнее чем Perl совместимые регулярные выражения (PCRE).
Теперь, разработчики в срочном порядке исправляют свой код, заменяя функции ereg, eregi, ereg_replace, ereg_replacei соответствующими PCRE аналогами, благо, замена получилась довольно простой:
1. заменить ereg и eregi на preg_match, ereg_replace и ereg_replacei на preg_repalce;
2. добавить // разделители в начало и конец регулярного выражения;
3. если POSIX функция кончается на i (eregi, ereg_replacei) то добавить i в конец регулярного выражения после разделителя.
4. заменить POSIX спецсимволы соответствуюущими PCRE аналогами: [:alnum:]
- \w или [0-9a-z], [:digit:] - \d или [0-9], [:space:] - \s, [:alpha:] - [a-z]
примеры:
ereg('expression') -> preg_match('/expression/')
eregi('expression') -> preg_match('/expression/i')
eregi('^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$
') -> preg_match('/^[a-z0-9][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$
/i')
Upd: оказывается шаг четвертый не обязателен - спецсимволы типа [[:alnum:]] теперь поддерживаются в PCRE!