/ Mine блог / PHP (LAMP) /

Регулярные выражения для чайников

Добавлено : Пт Авг 06, 2010 13:29
Автор : surg30n
Просмотров : 110 » Читать дальше » Комментировать »
Что такое регулярные выражения?

В народе: регэкспы, регулярки.

По-простому - это выражения для поиска и замены подстроки по шаблону.

В PHP используется название PCRE (Perl Compatible Regular Expressions -
перл совместимые регулярные выражения). В этой статье я постараюсь раскрыть
потенциал это мощного инструмента программиста. Не пытайтесь понять все сразу,
впитывайте порциями и приходите за добавкой.
/ Mine блог / PHP (LAMP) /

Пишем простенький обфускатор кода PHP

Добавлено : Ср Апр 28, 2010 21:44
Автор : surg30n
Просмотров : 398 » Читать дальше » Комментировать »
Постановка задачи:
Необходимо модифицировать код для неудобного его дальнейшего изменения. В часности - убрать комментарии, почитстить пробелы, переносы строк.
Зачем? Бывают разные ситуации, когда нужно передать код в третьи руки для ознакомления/тестирования. Чтобы гарантировать оплату (если есть опасения), можно передать
в измененном, неудобном для чтеня человеком виде.

В php есть волшебная функция token_get_all, которая разбирает код на лексемы и выдает результат в виде массива.
Отбросив ненужные части кода, мы получим нужный нам рафинированныый код, который можно смело отдавать на съедение неизвестным тетям и дядям.

Итак,
/ Mine блог / PHP (LAMP) /

Скрипт мониторинга изменений файлов

Добавлено : Вс Окт 04, 2009 13:04
Автор : surg30n
Просмотров : 522 » Читать дальше » Комментировать »
В связи с недавними событиями понадобилось набросать скрипт мониторинга файловой системы с
информированием пользователя об изменениях. Использовать скрипт предполагалось из крона,
который сам отправит сформированный отчет администратору.

 
/usr/bin/php -f /home/user/fsmon.php > admin@email.ru
 


Для гибкости некоторые параметры вынесены в файл конфигурации config.php
Задаем корень для сканирования и маску для файлов в виде регулярного выражения.

 
<?php
return array(
   'root'  => '/home/user/public_html/'
 , 'files' => '(\.php.?|\.htm.?|\.htaccess)$'
);
 
/ Mine блог / PHP (LAMP) /

Jquery полезные приемы

Добавлено : Чт Июл 23, 2009 18:57
Автор : surg30n
Просмотров : 900 » Читать дальше » Комментировать »
Документация по исходному коду jquery

/ Mine блог / PHP (LAMP) /

Собираем PHP 5.3.0 на FreeBSD

Добавлено : Пн Июл 13, 2009 4:02
Автор : surg30n
Просмотров : 1846 » Читать дальше » Комментарии (2) »
Итак, пока мейнтейнеры не придумали порт для 5.3, ставим пых руками из исходников.

 
wget http://ru2.php.net/get/php-5.3.0.tar.bz2/from/a/mirror
 
/ Mine блог / PHP (LAMP) /

PHP 5.3 незамеченный релиз

Добавлено : Ср Июл 08, 2009 17:00
Автор : surg30n
Просмотров : 2421 » Читать дальше » Комментарии (4) »
Что нового в PHP 5.3?

PHP 6 не за горами, но разработчики не могут терпеть несправедливости php 5.2, бэкпортировали возможности
шестерки в пятую ветку. Релиз которой состаялся в конце июня!

Насколько я знаю, портеры FreeBSD не сделали порт, поэтому обновляться либо вручную, либо ждать официально поддерживаемого порта.

PHP становится более объектно ориентированным языком - добавлена поддержка неймспейсов, но
корни языка попрежнему дают о себе знать - это и путаница в параметрах haystack-needle и "программистские пробелы"
в названиях функций.
/ Mine блог / PHP (LAMP) /

Пишем синонимайзер на PHP

Добавлено : Пн Июн 15, 2009 4:34
Автор : surg30n
Просмотров : 1579 » Читать дальше » Комментарии (3) »
Имеем некоторый текст, помещенный в бд.
Нужно путем манипуляций со словарем синонимов получить на выходе текст, в котором слова
заменены на аналоги-синонимы из словаря.

Приступим...
/ Mine блог / PHP (LAMP) /

Лучший способ переноса Mysql базы

Добавлено : Чт Апр 23, 2009 2:07
Автор : j4ck
Просмотров : 1465 » Читать дальше » Комментарии (1) »
Большая база на 600 Мб, нужно было сконвертить и перенести на другой хост.
Опробованы решения экспорта-импорта phpmyadmin, sypex dumer, heidisql.

1) phpmyadmin - очень долго бэкапил, при импорте умирал.
2) sypex dumer - медлено! но к чести скрипта импорт завершил, хоть и спустя 8 часов :)
3) heidisql - я обрадовался его фишке напрямую указать второе соединение и прога сама
может лить базу с одного хоста в базу на другом хосте. Клево. НО - умирает на первой большой таблице. Намертво.
При этом валит наглухо ядро проца и долго думает, в итоге убивается, так как не подает никакой активности.

4) Да, да и да. То с чего надо было начинать процесс - с консоли.
Родной дампер mysqldump от пятой mysql успешно сделал бэкап базы, которая
потом без одного подводного камня восстановилась на mysql 4 версии.

Итак, на машине-доноре
...
/ Mine блог / PHP (LAMP) /

Smarty конспект

Добавлено : Вт Апр 14, 2009 23:49
Автор : surg30n
Просмотров : 4080 » Читать дальше » Комментарии (2) »
В smarty предусмотрено комментирование кода?

{* комментарий *}


Как экранировать код в котором встречаются {}

{ldelim} = {, {rdelim} = } либо
{literal}...{/literal}


Как посчитать количество элементов в массиве

{$group.items|@count}


Как создать внутреннюю переменную smarty

...
/ Mine блог / PHP (LAMP) /

Закрываем папку на замок с помощью .htaccess

Добавлено : Вт Мар 24, 2009 17:53
Автор : surg30n
Просмотров : 1334 » Читать дальше » Комментировать »
Устанавливаем пароль на доступ к содержимому веб сервера.
/ Mine блог / PHP (LAMP) /

[Pg/My] SQL сниппеты

Добавлено : Вт Дек 23, 2008 16:18
Автор : surg30n
Просмотров : 1018 » Читать дальше » Комментировать »
Замена в тексте

UPDATE authors SET city = REPLACE(city, 'Salt', 'Olympic');
UPDATE documents SET body = REPLACE(body, '542-1177', '(495) 542-4977') WHERE title LIKE 'example%';


Случайное число

rand() AS random
ORDER BY random


...
/ Mine блог / PHP (LAMP) /

Lighttpd для отдачи статики

Добавлено : Сб Ноя 15, 2008 0:57
Автор : surg30n
Просмотров : 1681 » Читать дальше » Комментировать »
Статический контент - картинки, таблицы стилей (css), яваскрипты (js) создают нагрузку для апача.
В то время как основная работа апача - это обработка серверных скриптов на php.

Воспользуемся легким веб сервером lighttpd и перемести все запросы к статическим файлам с основного
сервера на вспомогательный.
/ Mine блог / PHP (LAMP) /

момент Guide to Programming with Zend Framework by Cal Evans

Добавлено : Вт Авг 26, 2008 19:25
Автор : surg30n
Просмотров : 1471 » Читать дальше » Комментарии (2) »
Посмотрел начало книжечки php|architect’s Guide to Programming with Zend Framework by Cal Evans

Там товарищ Кал Еванс пишет:

>> It’s just that easy. Since we are storing the instance of Zend_Config_Ini the first time
>> we call getConfig() there is no performance penalty to making multiple calls.

Якобы вызов многоразовый вызов getConfig() вместо прямого обращения к объекту не отражается на производительности и не стоит
волновать по этому поводу. Спички конечно, но сишники бы затоптали точно...
/ Mine блог / PHP (LAMP) /

Base64 изображения в HTML

Добавлено : Чт Мар 27, 2008 13:19
Автор : surg30n
Просмотров : 3045 » Читать дальше » Комментарии (1) »
Используем IMG

 
<img
src="data:image/gif;base64,R0lGODlhUAAPAKIAAAsLav///88PD9WqsYmApmZmZtZfYmdakyH5BAQUAP8ALAAAAABQAA8AAAPb
WLrc/jDKSVe4OOvNu/9gqARDSRBHegyGMahqO4R0bQcjIQ8E4BMCQc930JluyGRmdAAcdiigMLVr
ApTYWy5FKM1IQe+Mp+L4rphz+qIOBAUYeCY4p2tGrJZeH9y79mZsawFoaIRxF3JyiYxuHiMGb5KT
kpFvZj4ZbYeCiXaOiKBwnxh4fnt9e3ktgZyHhrChinONs3cFAShFF2JhvCZlG5uchYNun5eedRxM
AF15XEFRXgZWWdciuM8GCmdSQ84lLQfY5R14wDB5Lyon4ubwS7jx9NcV9/j5+g4JADs=
"
  />

 
/ Mine блог / PHP (LAMP) /

Объяснение SQL объединений JOIN/INNER/OUTER

Добавлено : Пт Мар 14, 2008 11:48
Автор : surg30n
Просмотров : 27259 » Читать дальше » Комментарии (30) »
Пояснения использования объединений в SQL.
JOIN, INNER JOIN, OUTER JOIN.
/ Mine блог / PHP (LAMP) /

Логические операции в регулярных выражениях

Добавлено : Вт Мар 27, 2007 21:43
Автор : mihail
Просмотров : 2428 » Читать дальше » Комментарии (1) »
Логические операции в регулярных выражениях...
/ Mine блог / PHP (LAMP) /

Разное

Добавлено : Вс Мар 18, 2007 15:00
Автор : surg30n
Просмотров : 1573 » Читать дальше » Комментировать »
Всяко-разно. фрагменты php, конфиги...
/ Mine блог / PHP (LAMP) /

Проверка русских символов в регулярных выражениях

Добавлено : Пн Фев 19, 2007 17:53
Автор : mihail
Просмотров : 3117 » Читать дальше » Комментарии (3) »
Один из часто задаваемых вопросов - как в никс окружении проверить регуляркой наличие кирилицы в строке.

$russian_str = "Тест";
if (preg_match("/^[".chr(0x7F)."-".chr(0xff)."_-]+$/",$russian_str))
{
   echo 'Это по-русски..';
} else {
   echo 'Это нет...';
}


На unix системах можно попробовать сменить локаль на setlocale(LC_ALL, 'ru_RU.CP1251');
и использовать кириллицу в чистом виде [а-яА-Я], либо применять UTF с модификатором.

Египет отель азур . хорошие советские мультфильмы для детей . представительство в суде