24 февраля 2010, 10:25 15 дней назад
php: первый и последний в массиве %)
// значения $first = reset($array); $last = end($array); // ключи $first = reset(array_keys($array)); $last = end(array_keys($array));
21 декабря 2009, 15:49 более 2-х месяцев назад
PHP: in_string (аналог in_array)
function in_string($needle, $haystack, $insensitive = 0) { if ($insensitive) { return (false !== stristr($haystack, $needle)) ? true : false; } else { return (false !== strpos($haystack, $needle)) ? true : false; } }Как видим, это просто stristr и strpos ;)
13 декабря 2009, 14:03 более 2-х месяцев назад
Утилит полезных пост 2
Первая это php-утилита Sypex Dumper — универсальный дампер БД (сделан нашими ребятами)
- можно просто и быстро создать резервную копию (бэкап, дамп)
- работает очень быстро с огромными БД
- есть куча фич (свой cmd, cron)
- очень простая и удобная
- установка — просто залил на сервер
- сохранение/загрузка результатов
- експорт в SQL и XML
- в демке всё круто видно %)
11 декабря 2009, 13:13 более 3-х месяцев назад
Утилит полезных пост
- php MySQL Admin одним файлом, всегда мечтал ;)
- умеет всё что нужно, но не такой мощный как PhpMyAdmin
- она от автора супер PNG-fix для ИЕ6
- css-selectors для выбора применяемых элементов
- работает очень быстро и просто, одни бонусы :)
- умеет за одно делать прозрачными png-рисунки
26 ноября 2009, 23:59 более 3-х месяцев назад
Сколько баблишка?
| Валюта в международном формате | Возможные вариации | Результат |
|---|---|---|
| RUR | рублей, руб., RUR, RUB, rubles, р. | рублей |
| UAH | гривен, гр. UAH, грн., | гривен |
| EUR | евро, евр., просто значок € перед или после цены, EUR, Euro, Evro (обрабатываем опечатки) | евро |
| USD | значок $, USD, долларов, у.е., зелёных :), dollar*, долар (опечатки) | долларов США |
/************************************************************* * Функция определения валюты из строк вида "1000 рублей", "10 USD" и т. п. * На входе строка, на выходе код валюты (RUR, USD, UAH, EUR) * или false, если не удалось определить. * Также false выйдет если определилось несколько валют в строке. * Автор функции - BrokenBrake.biz *************************************************************/ function currencer($str) { $pattern['RUR'] = "/[^гГuU][рРRr][Уу\.uU]/u"; $pattern['USD'] = "/\\\$|[UuдД][sSnNоО]|[уУ][\.\s]*[еЕ]|[зЗ][еЕ]|[бБ][аА][кК][сС]/u"; $pattern['EUR'] = "/€|[eEЕе][UuВвvV]/u"; $pattern['UAH'] = "/[гГUu][AaрР]/u"; foreach ($pattern as $key => $val) { if (preg_match($val, $str)) $currency[] = $key; } if (isset($currency[1]) OR !isset($currency[0]))return false; else return $currency[0]; } // echo currencer('1000 зелёных')
6 октября 2009, 13:03 более 5-и месяцев назад
PHP: encoding detection (win1251, utf-8)
function detect_encoding($string) { static $list = array('utf-8', 'windows-1251'); foreach ($list as $item) { $sample = iconv($item, $item, $string); if (md5($sample) == md5($string)) return $item; } return null; }
8 сентября 2009, 02:12 более 6-и месяцев назад
PHP: get google.PR end yandex.QI (тИЦ)
Из просмотренных мною алгоритмов для гугла, я пришёл к выводу, что большинство выдраны с виндового гугл-тулбара, и работаю с периодическим успехом на разных системах и платформах. Попытки сделать этот алгоритм универсальным не увенчались успехом, но был найден другой, отличный от всех способ, который работает везде на 100%! Дальше по-порядку:
Яндекс:
- урл должен быть полный с хттп
- берем иксымель с яндексбара http://bar-navig.yandex.ru/
- получаем тИЦ
- урл не важно, но лучше с хттп (вероятность бана айпи меньше)
- вычисляем Хеш урла (алгоритм XTEA)
- вычисляем ЧекСум урла
- отправлям всё через сокеты, притворясь браузером на один, из многих, айпи гугла
- нам нужны только первые 30 байт
- ищем строчку типа «Rank_1:1:Х», где Х наш ПР
- получаем ПР
4 сентября 2009, 15:10 более 6-и месяцев назад
PHP: Как открыть большой xml(файл) для работы с php
$handle = fopen("http://site.com/export.xml", "rb"); $contents = ''; while (!feof($handle)) $contents .= fread($handle, 8192); fclose($handle); $contents = xml2array(utf8_to_cp1251($contents)); // незабываем делать unset($contents, $handle)
4 сентября 2009, 15:01 более 6-и месяцев назад
PHP: utf8 to cp1251
function utf8_to_cp1251($s){ for ($c=0;$c<strlen($s);$c++){ $i=ord($s[$c]); if ($i<=127) $out.=$s[$c]; if ($byte2){ $new_c2=($c1&3)*64+($i&63); $new_c1=($c1>>2)&5; $new_i=$new_c1*256+$new_c2; if ($new_i==1025){ $out_i=168; } else { if ($new_i==1105){ $out_i=184; } else { $out_i=$new_i-848; } } $out.=chr($out_i); $byte2=false; } if (($i>>5)==6) { $c1=$i; $byte2=true; } } return $out; }
4 сентября 2009, 14:57 более 6-и месяцев назад
PHP: xml to array
function xml2array($xml) { $xmlary = array(); $reels = '/<(\w+)\s*([^\/>]*)\s*(?:\/>|>(.*)<\/\s*\\1\s*>)/s'; $reattrs = '/(\w+)=(?:"|\')([^"\']*)(:?"|\')/'; preg_match_all($reels, $xml, $elements); foreach ($elements[1] as $ie => $xx) { $xmlary[$ie]["name"] = $elements[1][$ie]; if ($attributes = trim($elements[2][$ie])) { preg_match_all($reattrs, $attributes, $att); foreach ($att[1] as $ia => $xx) $xmlary[$ie]["attributes"][$att[1][$ia]] = $att[2][$ia]; } $cdend = strpos($elements[3][$ie], "<"); if ($cdend > 0) { $xmlary[$ie]["text"] = substr($elements[3][$ie], 0, $cdend - 1); } if (preg_match($reels, $elements[3][$ie])) $xmlary[$ie]["elements"] = xml2array($elements[3][$ie]); else if ($elements[3][$ie]) { $xmlary[$ie]["text"] = $elements[3][$ie]; } } return $xmlary; }