«CKEditor — лучший текстовый редактор для каждого» (c) (The best web text editor for everyone). CKEditor — бесплатный визуальный кросплатформенный браузерный редактор — часто используется для внесения форматированного текста в различных системах управления контента (CMS). Редактор хорошо настраиваемый, но в последней редакции (версия 4 на момент написания поста) нет функционала загрузки фотографий через сам редактор. Сейчас мы с вами размеремся, как исправить это недостаток.
Архив рубрики: php
Генерирование data:url
В стандарте RFC 2397 опеределена схема, которая позволяет включать небольшие элементы данных в строку URL, как если бы они были ссылкой на внешний ресурс. В частности в строку адреса можно включать данные небольшого изображения, которые можно использовать для внедрения картинки прямо в HTML или CSS код.
Функция mb_ucfirst для перевода первого символа в верхний регистр.
Представляем функцию для перевода первого символа строки в верхний регистр mb_ucfirst
для многобайтовых кодировок.
Служба доставки CDEK для Битрикса
В стандартной поставке Битрикса нет службы доставки CDEK. Чтобы исправить этот недостаток, предлагаем вашему вниманию класс обработчик CDeliveryCDEK.
HTML мнемоники на javascript
В HTML есть полезные мнемоники (спецсимволы) для отображения различного рода знаков и символов национальных алфавитов. К сожалению напрямую использовать html ссылки-мнемоники в тексте строк на javascript нельзя, необходимо иcпользовать код этого символа. Чтобы корректно формировать такие строки, можно их перекодировать в php следующим способом:
Функция возращения окончаний русских слов
Часто перед программистом стоит задача правильного оформления статических данных. Например, для вывода количества товаров в корзине, числа человек в онлайне, числа категорий и т.д. надо указывать слова с правильным окончанием — 1 человек, 2 человека, но 15 человек. Т.е. окончание слова зависит от сопутствующего числа.
Сведем проверку числа и выдачу окончания в следующую функцию.
print_a — универсальная функция вывода информации о переменной
В php есть функция вывода содержимого массива, которая может использоваться для отладки, print_r. К сожалению использовать ее немного неудобно, потому что при выводе в «html-поток» форматирование функции превращается в строку символов. Для удобоваримого вывода в html желательно текст, выдаваемый этой функцией, обернуть в конструкцию <pre></pre>
. Сведем эти операции в функцию print_a, добавим обработку других типов переменных и получим удобную универсальную функцию отображения содержимого переменной.
Технология онлайн перевода через Google
Вашему вниманию предлагается технология онлайн-перевода через сервис Гугла на javascript.
Чтобы получить перевод, нужно сформировать соответствующим образом URL, который возращает результат перевода в виде json массива. Например перевод слова "программирование" дает следующий результат. К сожалению из-за ограничений безопасности мы не можем напрямую из javascript направить запрос на сайт гугла, поэтому нам приходится пользоваться прокси-скриптом на нашем сервере (см. текст файла googletranslate.php)
Автоматизированный вывод уменьшенных копий изображений
Создание уменьшенных копий изображений может быть достаточно кропотливой работой, особенно если система управления сайтом не предоставляет для этого соответствующего функционала. Как правило, в таких случаях придется создавать маленькие картинки вручную. Все это влечет за собой увеличение времени на создание или поддержание сайта. Ниже предлагается автоматизировать процесс создания превьюшек.
Для автоматического создания уменьшенных копий будем использовать следующую технологию.
Выдача http-заголовка для ошибки 404
Функция sendStatus404
отправляет клиенту заголовок с 404-й ошибкой в зависимости от инсталляции PHP на сервере.
У функции есть два необязательных параметра. С помощью первого $ERROR_TEXT_404
можно вывести информационный текст. Второй параметр $bExit
указывает, нужно ли завершение программы:
true
— завершить программу после выдачи заголовка и информационного сообщения;
false
— не завершать (полезно, если у вас есть страница, отображающая 404-ю ошибку).