4 мая 2012, 13:07
Внезапно случается, что когда текст вносится напрямую из Word в WYSWYG-редактор — получается плохо. Чтобы не переделывать руками каждую запись через админку, было принято решение переделать все через консоль. В итоге: < ? if (!mysql_connect ('host', 'user', 'password')){ die (mysql_error ()); }
2 мая 2012, 17:48
Волею судеб захотелось отфильтровать в одном дампе индексат от неиндексата — полез в Яндекс.Вебмастер. Ну, сразу перейду к расстройству что даже в Я.Вебмастер показывается только первая 1000 проиндексированных страниц — но парсер уже был готов, допиливать его не стал.
4 октября 2011, 18:16
очень просто, если иметь SSH. $ find . | xargs grep -l «<iframe src='badsite'» | xargs sed -i -e 's/bad_code_with_stripping_regex_chars//g' Эта команда заменит весь вредоносный код на ничего.
17 августа 2010, 9:40
Иногда людям приходят в голову странные мысли и они спрашивают — «А как подсветить в блоке первые N символов но чтоб типа без встроенных тегов?» Никак. Ну, или так: <script> function colorize (id, num, empty, styleClass){ // id - ID элемента // num - сколько символов подсвечивать // empty - считать ли пустые символы за символы для подсветки // styleClass - какой класс присваивать символам? var obj = document.getElementById (id); if (!obj) return; var regex = empty ? /^((?:[^\s]\s*){3})/ : /^(.{3})/; obj.innerHTML = obj.innerHTML.replace (regex, «<span class='»+styleClass+"'>$1</span>"); }
23 марта 2010, 12:48
Удаляем все элементы, которые не цифры. Работаем с референсом. #!/usr/bin/perl use strict; use Data::Dumper; my $a = [234235,'a',345,34234,23121]; $a = [grep {/^\d+$/ } @$a]; print Dumper $a; UPD Rommeech заметил багу, исправил
12 марта 2010, 13:37
Собственно, уже не мудрствуя лукаво — кто хоть немного знает перл — разберётся. Вконтакте добавили редиректики, что не помешает доблестному Curl через них пройти и получить куку в файл. #!/usr/bin/perl -w use strict; use WWW::Curl::Easy; use Carp;
12 марта 2010, 13:27
Таскаю за собой по всем модулям и скриптам. sub getURL { my $params = shift; croak q[HASH needed as param] if ref ($params) ne 'HASH'; croak q[HREF needed in HASH] if (!exists ($params->{href})); $params->{href} = q[http://].$params->{href} if $params->{href} !~ /^http (s)?:\/\//; $params->{headers} = 0 if !$params->{headers}; $params->{ag} = qq ($user_agents[rand(($#user_agents+1))]) if !exists $params->{ag}; $params->{timeout} = […]
31 августа 2009, 16:51
Вызывается с параметром тег [сколько записей смотреть на предмет твиттерчан, по умолчанию 100] Типа perl script.pl followfriday 80 — пролистает 80 последних записей ленты и вычленит из них все встречающиеся ники, которые потом поделит на посты до 140 символов. Запись в кроне, соответственно — # пятница 10 16 * * 5 perl script.pl followfriday # понедельник […]
4 августа 2009, 10:43
Не знаю насколько нова идея — но подумал и сразу изобразил. Суть в том, чтобы пойти от обратного по идее — лишнее поле для бота. Только заполнять поле самим и на JavaScript. Если поле не приходит — значит POST или GET отправлялся напрямую. Ну и JS ещё не все умеют обрабатывать.
31 июля 2009, 10:03
В свете последних событий насчёт Вконтакте — выложенный дамп 130 тысяч пользовательских логинов и паролей — получение кук с Яндекса — таких почт в этом дампе около 13 тысяч. sub yandexLogin { my ($login, $password, $ip) = @_; croak ('Login needed') if !$login; croak ('Login needed') if !$password; $login =~ s/@.*//; $password = uri_escape ($password); my $ag = q[MegaHacker]; @LWP::Protocol::http::EXTRA_SOCK_OPTS = […]