![]() |
|
![]() |
||||||
![]() |
Одна из проблем, с которой сталкивается разработчик при создании мобильной версии сайта - это правильно определить зашел ли пользователь на страницу с помощью мобильного устройства. Правильный способ это сделать - использовать специальную базу данных определения устройств, одна из самых известных - это DeviceAtlas. Способ попроще, конечно же, основан на анализе строки User-Agent. Ниже приведенный код как раз использует этот метод, плюс еще несколько других нюансов и способен с большой долей вероятности определить является ли браузер мобильным. Читать дальше... ![]() Две проверки осуществляется посредством регулярных выражений, еще одна посредством функции filter_var. Читать дальше... Создает стандартную почтовую HTML–ссылку.
Почтовый адрес выводится в обфусцированном виде с использованием порядковых номеров символов, которые генерируются при помощи JavaScript. Таким образом адрес скрывается от спам–ботов. Читать дальше... Я люблю Excel - править огромные таблицы, быстро анализировать данные в нём одно удовольствие. Для того, чтобы обработанные данные передать в приложения на CakePHP, я просто копирую всё в буфер и вставляю в textarea. Чтобы разбирать информацию оттуда, я использую следующий код: Читать дальше... case, javascript, php, ucwords, upperПо долгу работы частенько приходится тестировать различные формы, частенько код обработки форм не сразу работает корректно - приходится постоянно заполнять одну и ту же форму. Чтобы этого избежать я ставлю у формы свойство 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 соответственно. Читать дальше... Потребовалось сделать перенос записей в базу данных Wordpress. В интернете в основном описано, как вставлять записи в Wordpress посредством XML-RPC - этот способ мне частично не подходил, поэтому решил разобраться со струкурой базы данных Wordpress'a - она оказалась достаточно простой и я за некоторое время написал код, который находится ниже. Код писался под фрэймворком Codeigniter, поэтому чтобы использовать его в другой среде - достаточно изменить код работы с базой данных, он достаточно понятный, поэтому проблем возникнуть не должно. У кого есть вопросы по работе кода - пожалуйста в комментарии. Читать дальше... В WordPress за вызов удаленных процедур отвечает скрипт xmlrpc.php. Те кто заглядывал в этот скрипт знают, что WordPress поддерживает аж четыре известных API - WordPress API, Blogger API, MetaWeblog API и MovableType API. Я решил использовать MetaWeblog API, потому, что на тот момент я был знаком с ним лучше всего (правда в процессе развития проекта пришлось познакомиться и с другими API, так как заказчик захотел поддержки не только WordPress-а, но и Blogger-а с MovableType на пару). Сама функция, реализующая добавление нового поста в блог на WordPress, находилась в соответствующей модели CodeIgniter и выглядела примерно так: Читать дальше... api, blog, codeigniter, metaweblog, php, publish, rpc, wordpress, xml, xml-rpcМетод преобразует переводы строк вне тэгов <pre> в тэги <br />. Данная функция идентична встроенной в PHP nl2br() за исключением того, что она игнорирует пробелы в тэгах <pre>. Читать дальше... Принимает строку и преобразует в ней зарезервированные XML-символы в их сущности: Амперсанд: & Знаки больше и меньше: < > Одинарная и двойная кавычки: ' " Дефис: - Эта функция игнорирует амперсанд, если он является частью существующих сущностей. Читать дальше... Второй параметр определяет, будут ли определяться оба адреса: url и email или же только один из них. Если параметр не указан - определяются оба. Третий параметр определяет открывать ли ссылки в новом окне. Значение может быть TRUE или FALSE. В коде используется функция safe_email, которая преобразует email в ссылку, а также шифрует его. Читать дальше... Функция возвращает количество дней в определенном месяце определенного года. Если функции не передана не одна переменная, то возвращается количество дней в текущем месяце. (Пример написан после прочтения аналогичной статьи тут http://snippy.ru/snippet/1766-kolichestvo-dnei-v-mesjace.html) Читать дальше... Форматирует текст таким образом, чтобы на выходе получился корректный с точки зрения семантики и типографики HTML. Принимает строку в качестве параметра и возвращает её со следующими изменениями: - Окружает параграфы тэгами <p></p> (за параграф считается двойной перевод строки). - Одиночные переводы строки преобразуются в <br />, если они не находятся внутри тэгов <pre>. - Блочные элементы, такие как , не обрамляются параграфами. Текст внутри блочных элементов обрамляется, если содержит переносы строк. - Кавычки вне тэгов преобразуются в корректные для английского текста кавычки-лапки. - Апострофы преобразуются в апострофы-лапки. - Двойной минус (вроде -- этого или вот--этого) преобразуются в тире. - Три точки подряд предшествующие или следующие за словом преобразуются в троеточие - Двойные пробелы, следующие после существительного преобразуется в неразрывные пробелы для того, чтобы отображался именно двойной пробел. Читать дальше... Небольшая функция, с помощью которой вы сможете узнать протяженность флэш-видеоролика, дополнительные классы или расширения не требуются Читать дальше... Функция возвращает текущее время в формате Unix timestamp. В зависимости от настроек времени в конфигурационном файле берется либо локальное время сервера либо время по гринвичу(GMT). Если вы не хотите получать время по гринвичу (чаще всего это требуется если вы разрабатываете сайт, позволяющий пользователю выставить свою временную зону), нет никакой выгоды от использования данной функции по сравнению со стандартной для PHP функцией time(). Читать дальше... Получает в качестве параметра время в формате Unix timestamp и возвращает его в понятном человеку формате используя следующий шаблон: YYYY-MM-DD HH:MM:SS AM/PM Это может быть полезным если вам необходимо отобразить дату в поле формы для ее просмотра. Время может возвращаться с секундами или без них в Европейском формате или формате США. Если передано только время, оно будет возвращено без секунд в формате США. Читать дальше... Эта небольшая функция позволит проверить наличие в индексе Яндекса определенной страницы. Читать дальше... Первый параметр должен задавать формат, второй - дату в виде Unix timestamp. Поддерживаемые форматы: DATE_ATOM, DATE_COOKIE, DATE_ISO8601, DATE_RFC822, DATE_RFC850, DATE_RFC1036, DATE_RFC1123, DATE_RFC2822, DATE_RSS, DATE_W3C Читать дальше... Функция возвращает количество дней в указанном месяце указанного года. Также учитывает високосный год. Если второй параметр пуст, используется текущий год. Читать дальше... Функция получает в качестве параметра время в формате MySQL Timestamp и возвращает его в формате Unix. Читать дальше... Функция принимает в качестве параметра часовой пояс (список часовых поясов вы можете найти в соответствующем разделе далее) и возвращает разницу с всемирным временем(UTC) в часах. Читать дальше... Генерирует пригодное для хранения представление переменной Это полезно для хранения или передачи значений PHP между скриптами без потери типа и структуры. Читать дальше... Возвращает хэш строки str , вычисленный по алгоритму » US Secure Hash Algorithm 1. Хэш представляет собой 40-разрядное шестнадцатиричное число. Если необязательный аргумент raw_output имет значение TRUE, хэш возвращается в виде двоичной строки из 20 символов. Читать дальше... encode, equivalent, function, hash, javascript, php, secure, sha1![]() Вычисляет SHA1 хэш файла, имя которого задано аргументом filename , используя алгоритм » US Secure Hash Algorithm 1 и возвращает этот хэш. Хэш представляет собой 40-значное шестнадцатеричное число. Читать дальше... |
Меню
Подписка на RSS:
Поиск
Облако тегов
.net
array
asp
bash
browser
charset
check
class
clean
convert
count
create
css
curl
database
date
delete
directory
download
element
email
equivalent
extension
file
find
form
format
function
get
height
html
http
ie
image
javascript
jquery
load
mysql
number
page
perl
php
random
scriplet
send
shell
size
sql
string
text
time
url
utf8
variable
vb
visual basic
width
window
xml
xslt
|
![]() |
![]() |
![]() |
||
![]() |
![]() |