Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Артем Посетитель
Зарегистрирован: Sep 19, 2006 Сообщения: 6
|
|
В этой теме предлагаю разбирать более сложные скрипты.
Добавлено спустя 34 минуты 20 секунд
Хотелось бы поделится скриптом трансляции чатов: Код: |
<?php
header('Content-Type: text/plain');
//кодировка для мастера
$link = "http://www.beeonline.ru/demo/chat?chat=$chat";
//Оределяем чат трансляцию которого будим сотреть.
$date = date("d.m.y - H:i:s");
$log = "$date | $nick | $pid | $chat";
$messlog=fopen("messlog.txt","a");
fputs($messlog,"\r\n $log");
fclose($messlog);
//регистрация всех обратившихся в фаил messlog.txt
function red($str) {
if (strpos($str,"<span class='message'>")==0) {
$str=str_replace ("</span>", "></span>", $str);
$str=str_replace ("(БОСС)></span>", ">#</span>", $str);
$str=str_replace ("(помощник босса)></span>", ">*</span>", $str);
$str=str_replace ("(гость)></span>", ">+</span>", $str);}
else {
$str=str_replace ("(БОСС)", "", $str);
$str=str_replace ("(помощник босса)", "", $str);
$str=str_replace ("(гость)", "", $str); }
$str=str_replace ("Установлена новость", "установлен NEWS", $str);
$str=str_replace ("Ушел из чата", "ушел из чата", $str);
$str=str_replace ("Отправил в OUT участника", "отправил в OUT", $str);
$str=str_replace ("Сменил ник с", "сменил ник на", $str);
$str=str_replace ("Желтая карточка", "отключил от чата", $str);
$str=str_replace ("Ушел из чата:", "ушел из чата", $str);
$str=str_replace ("\r", " ", $str);
$str=str_replace ("\n", " ", $str);
$str=trim (chop($str));
$str=str_replace (""", "ъ", $str);
$str=str_replace ("'", "ь", $str);
$str=str_replace (">", ">", $str);
$str=str_replace ("<", "<", $str);
return $str;}
//Функция замены символов и слов из трансляции более корректными и удобными.
function zamena($str) {
$str=explode("<P CLASS='text'>", "$str"); // Режем сторку по тегу <P CLASS='text'> отделяя Время, Ник, Рнгеон, Дату от Тескта
$textm=$str[1];
$nick_date=explode("</span>", "$str[0]"); // Режем сторку по тегу </span> отделяя Время, Ник от Региона
$nickm_datem=$nick_date[0];
$str="$nickm_datem $textm"; //Формируем новую строку состоящую из Ника, Даты и Текста.
$str=strip_tags($str,"<encode>, </encode>");
return $str;
}
//Функция разбивабщая каждое сообщение в транчляции на Ник, Время, Текст и удаляющая все HTML-скрипты.
if ($chat=="") {print "MASTER-DEMO> Сервис OnLine показа разговоров SMS-чатов. Для просмотра разговоров отправьте на 684: MASTER DEMO ИмяЧата Например MASTER DEMO UCHEBKA Удачи! (c)Hard [email protected]";} //Этот текст придет пользователю мастера если он не ввел название чата(т.е текст в мастере по умолчанию.
else {
$file = @fopen($link, "r"); //скачиваем фаил с трансяцией указанного чата
$mess = fread($file, 200000); fclose($file);
$mess = trim (chop ($mess)); //Обрезаем все лишнее
$mess=explode("<P CLASS='user'>", $mess); //Делим скаченый фаил с трансяцией на сообщения
$chat=strtoupper($chat);
$a=count($mess);
if (strpos($mess[0], "запрещен") != 0) //Проверяем разрешен ли показ логов чата, если да выводим предупреждение
print "MASTER-DEMO> К сожелению показ логов чата $chat запрещен боссом чата.";
elseif ((strpos($mess[0], "не указан")!=0) or ($a==1)) print "MASTER-DEMO> Логи чата $chat отсутствуют."; //Проверяем есть ли в трансляции сообщения,если да выводим предупреждение
else
{
if ($a>10) { $a=10;
$exmess="<encode>MASTER DEMO</encode> - об услуге DEMO.";
$mess[9]=trim (chop($mess[9]));
$mess[9]="$mess[9] $exmess";
}else {
$exmess="<encode>MASTER DEMO</encode> - об услуге DEMO.";
$mess[$a-1]=trim (chop($mess[$a-1]));
$mess[$a-1]=$mess[$a-1].$exmess; }
//Делим сообщения на порции по 10шт
for ($i=1; $i<$a; $i++) {
$mess[$i]=red($mess[$i]);
$mess[$i]=zamena($mess[$i]);
print "DEMO-$chat> $mess[$i]\n"; } //Выводим сообщение
}
}
?>
|
Добавлено спустя 13 минут 25 секунд
Немного о работе скрипта: Пользователь обратившись получает 9 смс с последними 9
сообщениями из указанного чата. В сообщени всякие ненужные слова типа (БОСС), (Гость) и др, заменены на >#, >*,>*. Также отсутствует регион.
В отальном сообщения из мастера не отличаются от оригинальных сообщений в трансляции.
Все вопросы сюда: Ася: 328600735, Мыло [email protected] |
|
Вернуться к началу |
|
|
NeoN_Light Администратор
Зарегистрирован: May 04, 2006 Сообщения: 55 Откуда: Москва
|
|
Давно я этим не занимался
Надо будет поискать и свои выложить, ток они бокрупнее
Добавлено спустя 44 секунды
покрупнее, в смысле _________________
|
|
Вернуться к началу |
|
|
CHATenok Новичок
Зарегистрирован: May 27, 2006 Сообщения: 10 Откуда: Арзамас
|
|
хм... я делал для мастера подобный скрипт, он почему-то менье получился :-)
5 баллов |
|
Вернуться к началу |
|
|
Navigator Посетитель
Зарегистрирован: May 19, 2007 Сообщения: 3
|
|
не пойму значение вот этой строчки
elseif ((strpos($mess[0], "не указан")!=0) or ($a==1)) print "MASTER-DEMO> Логи чата $chat отсутствуют."; //Проверяем есть ли в трансляции сообщения,если да выводим предупреждение
Получается он всегда будет только это предупреждение выводить.
Добавлено спустя 4 минуты 46 секунд
и причём здесь кстати логи, если речь идёт о SHOW? И где у вас определение переменных $chat, $nick и $pid?
Людям только голову морочите. |
|
Вернуться к началу |
|
|
crims0n Посетитель
Зарегистрирован: May 23, 2006 Сообщения: 3
|
|
Валер, даже если скрипт изначально кривой, все равно его правть быстро |
|
Вернуться к началу |
|
|
Navigator Посетитель
Зарегистрирован: May 19, 2007 Сообщения: 3
|
|
ёклмн, а ты кто? |
|
Вернуться к началу |
|
|
crims0n Посетитель
Зарегистрирован: May 23, 2006 Сообщения: 3
|
|
заинтригован? |
|
Вернуться к началу |
|
|
Navigator Посетитель
Зарегистрирован: May 19, 2007 Сообщения: 3
|
|
Вернуться к началу |
|
|
NeoN_Light Администратор
Зарегистрирован: May 04, 2006 Сообщения: 55 Откуда: Москва
|
|
_________________
|
|
Вернуться к началу |
|
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете добавлять приложения в этом форуме Вы не можете скачивать файлы в этом форуме
|
| |