Написать письмо   
 
logo
 
Snippy
Сборник
примеров кода
В JavaScript'е при присваивании переменной массива или объекта происходит создание ссылки на объект(массив).
Ниже приведены два примера, используя которые можно создать копию объекта массива.
Читать дальше...


Неудивительно, что Internet Explorer не поддерживает отображение потокового видео в формате MJPEG, в то время как остальные браузеры его давно поддерживают.
Но исправить этот недостаток можно, используя специальный ActiveX от компании Axis Communications amc.cab.
Читать дальше...


CodeIgniter предоставляет неплохие возможности по обработке ошибок, но мне они показались недостаточными по следующим причинам:

  • отсутствует возможность обработки исключений
  • отсутствует возможность уведомлять администратора сайта о возникающих ошибках через почту
  • довольно скудная информацию о возникающих ошибках (в фреймворке с которым я работал раньше текст ошибки дополняется дампом глобальных переменных, что очень сильно облегчает процесс отладки, хотелось бы подобную схему увидеть и в CodeIgniter)

Будем это исправлять =)


Читать дальше...


Первый способ основывается на регулярных выражениях и взят из библиотеки Prototype.
Второй способ основан на том, что при попытке получить объект из его текстового представления будет возникать ошибка, если формат представления некорректен.
Читать дальше...


Как узнать длину текста в FCKEditor ?
Используйте следующий небольшой код:
Читать дальше...


Естественно только для трансформации в PHP :)
Читать дальше...


C помощью данного скрипта можно быстро рассортировать фотографии по датам.
Дата создания фотографии берется из EXIF.
Директории фотоархива будут иметь следующий формат: photos/2009/20090628.
Читать дальше...


Две проверки осуществляется посредством регулярных выражений, еще одна посредством функции filter_var.
Читать дальше...


Многие мобильные телефоны позволяют снимать видео на встроенную камеру и сохранять его в формате 3gp.
Для работы с видео и звуком под Linux есть как минимум 2 классных инструмента, mencoder и ffmpeg.
Ниже представлены три способа конвертирования.
Читать дальше...


В основном распространены два вида переноса строк в тексте: вида "\r\n" в среде Windows и просто "\n" в среде Unix.
Зачастую в тексте встречаются переводы обоих видов - это неправильно. Следующая функция поможет привести переводы строк в тексте в единый формат.
Читать дальше...


Формат хранения дата и даты с временем в базе данных MySQL отличается от того, каким мы привыкли его видеть.
C помощью следующей функции вы сможете отформатировать дату в привычный вид.
Читать дальше...


Создает стандартную почтовую HTML–ссылку. Почтовый адрес выводится в обфусцированном виде с использованием порядковых номеров символов, которые генерируются при помощи JavaScript. Таким образом адрес скрывается от спам–ботов.
Читать дальше...


Я люблю Excel - править огромные таблицы, быстро анализировать данные в нём одно удовольствие. Для того, чтобы обработанные данные передать в приложения на CakePHP, я просто копирую всё в буфер и вставляю в textarea. Чтобы разбирать информацию оттуда, я использую следующий код:
Читать дальше...


При использовании XSLT-преобразованй следует помнить, что в разных брузерах по разному реализуется алгоритм преобразований.
В приведенном примере учитываются особенности преобразований в браузерах Mozilla и Internet Explorer.

Напомним, что браузеры Opera и Safari не поддерживают ни метод transformNode(), ни объект XSLTProcessor().
Обеспечить поддержку можно, к примеру, перкладыванием процесса преобразования на сторону сервера, а в самом скрипте получать уже результат преобразования.
Читать дальше...


Решение задачи группировки основывается на двух правилах:
  • Мы можем выбрать множество узлов по их свойствам с помощью ключей
  • Мы можем установить, является ли узел первым узлом множества в порядке просмотра докумена, при помощи функции generate-id

Чтобы выполнить данную проверку обратимся к функции generate-id.
Функция generate-id возвращает уникальный идентификатор первого в порядке просмотра документа узла переданного ей множества. Значит для того, чтобы проверить, является ли узел первым узлом группы, достаточно сравнить его уникальный идентификатор со значением уникального идентификатора множества узлов этой группы.
Читать дальше...


XSLT не предоставляет стандартных операторов для определения принадлежности одного множества другому, нахождения пересечений, разности множеств и так далее. Рассмотрим иной подход к реализации операций над множествами, основанный на очень простом определении принадлежности узла множеству. Узел node, принадлежит множеству nodeset тогда и только тогда, когда выполняется равнество: count($nodeset) = count($node | $nodeset).
Читать дальше...


Данная функция предназначена для очистки html-кода, а конкретно кода, который генерируется при переносе текста из Word'a. Удобно использовать в online wysiwyg-редакторах, где этот функционал не реализован (для этой цели и искалась).

Код взят из плагина CleanHTML для редактора FCKEditor.
Читать дальше...


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

Следующий шаблон поможет вам просклонять нужное слово в зависимости от числительного.
Читать дальше...


В Firebug - популярном плагине для Firefox, существует фукнция console.trace(), которая позволяет просмотреть стэк фукнций, т.е. просмотреть последовательность вызова функций до определенной точки. Но если вы его не используете, либо, что более вероятно, вам нужно просмотреть стэк вызова функций на других браузерах, не поддерживающих Firebug, то вам возможно пригодится следующая функция, созданная Эриком Венделином (Eric Wendelin).
Для просмотра стека достаточно вызвать функцию printStackTrace().
Читать дальше...


Пример загрузки файлов на сервер без перезагрузки страницы.

Функция submit() является основной в объекте AIM. Она создаёт скрытый iframe при помощи функции frame(), добавляет атрибут target для формы и при необходимости выполняет callback onStart при начале отправки формы. В целом, принцип действия скрипта основывается на применении атрибута target, который указывает, где будет отображаться новый документ. Поскольку здесь target указывает на скрытый iframe, то страница не будет перезагружаться при оправке формы, а ответ от сервера будет помещен как его содержимое.

Пример применения объекта AIM:
<form action="index.php" method="post" onsubmit="return AIM.submit(this, {'onStart' : null, 'onComplete' : completeCallback})"> .... </form>
Читать дальше...


Спасибо комментаторам - код действительно был растянут.
Сейчас все исправил.
Читать дальше...


По долгу работы частенько приходится тестировать различные формы, частенько код обработки форм не сразу работает корректно - приходится постоянно заполнять одну и ту же форму.
Чтобы этого избежать я ставлю у формы свойство target="_blank", в итоге сабмит формы открывается в новом окне, окно с формой остается открытой, а сама форма - заполненной.
Для упрощения процесса установки атрибута у формы, написал небольшой букмарклет, который ставит у всех форм на странице атрибут target равным '_blank'.
Чтобы его использовать - перетащите эту ссылку - Forms target blank в закладки, а чтобы его запустить - просто кликните по закладке.
Код букмарклета представлен ниже.
Читать дальше...


Имеем XML-узел:
<title>ВЗГЛЯД / <hlword priority="strict">Путин</hlword> слетал к кубанским студентам</title>

На выходе надо получить строку ВЗГЛЯД / Путин слетал к кубанским студентам, без тегов, комментариев и т. д. Как это правильно сделать?

Когда-то давно я узнал функцию выдирания всего текста из DOM-узла (не важно, HTML это или XML). Но она работает медленнее, чем браузерные DOM-свойства text и textContent.

При этом в XML DOM-свойство text - для Internet Explorer и Opera; textContent - для Firefox и Opera. А вот для Safari ничего нет, он не понимает ни text, ни textContent.

Объединив все возможные подходы, получаем кроссбраузерную функцию:
Читать дальше...


На самом деле проверяется существование OpenID сервера для указанного адреса, то есть даже если проверка прошла успешно - указанного OpenID аккаунта может и не существовать. Но в большинстве случаев хватит и такой проверки.

Необходимо подключить класс Simple PHP OpenID.
Читать дальше...


Понадобилось прикрутить на сайт авторизацию по OpenID.
Остановился на библиотеке Simple OpenId, для которой написал метод-обертку, позволяющий сделать авторизацию с помощью этой библиотеки удобно и быстро.
Метод разбит на два этапа и работает следующим образом:
- делается вызов самого метода, в качестве параметров необходимо указать OpenID и имя функции, происходит переадресация пользователя на сервер OpenID провайдера, для подтверждения доступа.
Обратите внимание на строку 38 - здесь указывается URL, к которому обратится OpenID сервер после подтверждения доступа - переход на этот адрес снова должен запустить метод OpenIdAuth
- то что метод уже вызван сервером OpenID можно определить по параметрам из get-запроса, а конкретно 'openid_mode'.
После этого анализируется ответ сервера и вызвается callback-функция, имя которой было передано при первом запуске метода.

То что OpenID авторизация была пройдена успешно - будет извещать параметр передаваемый в callback-функцию со значением "VALID".
Учтите, что если вы используете процедуроное программирование, а не объектное, то вам надо будет переписать строки проверки существования callback-функции и ее вызов - строки 90 и 92 соответственно.
Читать дальше...


[ 1 ] [ 2 ] [ 3 ] [ 4 ] ... Следующая