14 марта 2010, 23:53 7 дней назад
PHP: выводим первые 3 предложения (можно любые 3)
echo implode(".",array_slice(explode (".", $bigtext), 0, 3))
- Делим текст через точки на массив
- Отрезаем первые 3 элемента массива
- Делаем из массива обратно текст используя точку %)
9 марта 2010, 18:07 12 дней назад
Конвертируем в ASCII неведомые символы для cp1251 и копируем в буфер
Для того что бы конвертить неведомые символы, мы должны их отCharCodить, но функция конвертит всё подряд, поэтому мы предварительно составляем массив наших символов, и если не наши, мы их через ASCII-код выдаём :)
зы: прикрутил сразу туда же ZeroClipboard :)
cp1251 = [33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,52,53,54, 55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75, 76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,93,94,95,96,97, 98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113, 114,115,116,117,118,119,120,121,122,123,125,126,1025,1028,1030, 1031,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051, 1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064, 1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077, 1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090, 1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103, 1108,1110,1111,8470]; function in_array(myValue,myArray){ function equals(a,b){return (a === b);} for (var i in myArray) if (equals(myArray[i],myValue)) return true; return false; } function fetchAscii(){ var obj = document.getElementById("converter").value, convertedObj = '', converted = document.getElementById("converted"); var _length = obj.length; for(i = 0; i < _length; i++) convertedObj += (in_array(obj.charCodeAt(i),cp1251) ? '&#' : '&#') + obj.charCodeAt(i) + ';'; converted.innerHTML = convertedObj; return false; }
зы: прикрутил сразу туда же ZeroClipboard :)
var clip = new ZeroClipboard.Client(); clip.setHandCursor( true ); clip.addEventListener('mouseOver', function(clip){ clip.setText( document.getElementById("converted") .innerHTML .split("&") .join("&")) } ); clip.glue("copy");Особенность в том, что текст, который копируется, постоянно изменяется, то есть динамический %)
24 февраля 2010, 21:30 25 дней назад
Apache: Premature end of script headers
Нужно на хомяк сайта права поставть 755 ;) ага, ок!
24 февраля 2010, 10:25 25 дней назад
php: первый и последний в массиве %)
// значения $first = reset($array); $last = end($array); // ключи $first = reset(array_keys($array)); $last = end(array_keys($array));
22 февраля 2010, 12:29 27 дней назад
Javascript: конвертация типов переменных
var myVar = "3.14159", str = ""+ myVar,// в стринг (string) int = ~~myVar, // в интеджер (integer) float = 1*myVar, // во флоат (float) bool = !!myVar, // в булен - все непустые строки и числа кроме 0 будут true array = [myVar]; // в массив
17 февраля 2010, 09:34 более месяца назад
Javascript: Строку в массив (string to array)
var nums = '1,2,3,4,5,6,7,8,9,10'.split(',');
10 февраля 2010, 18:33 более месяца назад
JavaScript викторина от perfectionkills.com
С утра твитор порадовал интересной викториной.
Немного подумав над ней, оказалось что решил я её без ошибок \m/, в отличии от многих других ;) (если бы на время, то наверное бы слил)…
По просьбам трудящихся, небольшие объяснения (в комментариях к викторине их можно частями найти)
Немного подумав над ней, оказалось что решил я её без ошибок \m/, в отличии от многих других ;) (если бы на время, то наверное бы слил)…
По просьбам трудящихся, небольшие объяснения (в комментариях к викторине их можно частями найти)
(function(){ return typeof arguments; })();
Вернёт object, потому что arguments всегда задана, и выводит все переменные которые приходят в функциюvar f = function g(){ return 23; }; typeof g();
Получим ошибку, фугкция g() не объявлена. Если запустить f() получим «number»(function(x){ delete x; return x; })(1);
Небольшой подвох ;) Delete внутри функций не работает ;) Ответ 1var y = 1, x = y = typeof x; x;
Объявление в «колоне» идёт слева на право, получаем в итоге строку «undefined»(function f(f){ return typeof f(); })(function(){ return 1; });
функция выполняется вконце, возвращает 1, она же идёт в начало аргументом функции f(), и тип 1 — «number»var foo = { bar: function() { return this.baz; }, baz: 1 }; (function(){ return typeof arguments[0](); })(foo.bar);
Есть объект foo с методом bar, и функция которой в качестве аргумента передаём наш метод. Почему в итоге не «function»? this в обжекте ;) Лол! ок!var foo = { bar: function(){ return this.baz; }, baz: 1 } typeof (f = foo.bar)();
А ну как конструкция, гибкость? :) смотрим вышеvar f = (function f(){ return "1"; }, function g(){ return 2; })(); typeof f;
исполняется последняя в списке функция g() — потому «number»var x = 1; if (function f(){}) { x += typeof f; } x;
Опять функция в условии (смотри 2), в итоге получаем «1undefined»var x = [typeof x, typeof y][1]; typeof typeof x;
типоф от типоф всегда стринг ;)))(function(foo){ return typeof foo.bar; })({ foo: { bar: 1 } });
у нас просто получилось foo.foo.bar = 1, обжект в обжекте — масло масляное, потому «undefined»(function f(){ function f(){ return 1; } return f(); function f(){ return 2; } })();
Последняя объявленная нижняя, потому получаем 2 %)function f(){ return f; } new f() instanceof f;
инстансоф буллевый оператор, и итог функции f() не может быть в «движении» функции f.with (function(x, undefined){}) length;
оператор with поиска находит оба аргумента, получаем 2 %)
9 февраля 2010, 11:34 более месяца назад
jQuery resourses
После 1.4 сразу выходит 1.4.1 и скоро будет 1.4.2 :)
Такая активность подтолкнула много других людишек, и было создано много полезных ресурсов и обновлено старых:
ps: больше инфы о новом Jq тут
Такая активность подтолкнула много других людишек, и было создано много полезных ресурсов и обновлено старых:
- jQuery souse viewer — каждую функцию теперь быстро и удобно можно найти
- jQuery API — теперь в удобном формате
- jQuery UI — скоро 1.8 и новые плюшки
- jQuery Documentation — теперь с человеческим лицом
- jQuery Meetups Ukraine — милости просим, вопросы, предложения. Когда будет много людишек, можно будет организовать конференцию
ps: больше инфы о новом Jq тут
27 января 2010, 17:46 более месяца назад
Утилиток нужных пост: CSS и JS уменьшаторы (minifier)
Последнее время часто пользуюсь, и так же часто не могу найти рабочие сайты. То домен пропал, то домен украли, то тупо сайт лежит. По этому сделал два зеркала для себя (если кому-то ещё пригодится, я не против ;) + любимый сайт для сжатия скриптов.