воскресенье, 30 ноября 2014 г.

Как написать чат в командном файле (CMD, BAT)

Как написать чат в командном файле (CMD, BAT)



@rem BatChat
@echo off
cls
pushd "%~dp0"
echo Current DIR: "%CD%"
if "%~1" == "talk_widget" goto talker


rem ================================================

rem ////////////////////

:auth
echo Enter chat filename to connect ("abc" for example):
set /p chat=^>
echo Enter your nick:
set /p nick=^>
start call %0 talk_widget %chat% %nick%


rem ////////////////////

:listener

cls
call title "| Chat: %chat% | User: %nick% |"
if exist %chat%_history type %chat%_history
if not exist %chat% echo. 2>%chat%



:listener_loop

ping 127.0.0.1 -n 1 -w 20 > nul
set oldtext=%text%
set /p text=<%chat%
if not "%text%" == "%oldtext%" echo %text%
goto listener_loop

rem ////////////////////



rem ================================================



rem ////////////////////
rem // %2 - chat name //
rem // %3 - user nick //
rem ////////////////////

:talker
set chat=%~2
set nick=%~3

cls
call title "| Chat: %chat% | User: %nick% |"
call ::cs_in
echo (%TIME% %nick% connected)>%chat%
call ::cs_out
echo (%TIME% %nick% connected)>>%chat%_history


:talker_loop
cls
echo Dear %nick%, type message to send:
set /p msg=^>
call ::cs_in
echo [%TIME% %nick%]: %msg%>%chat%
call ::cs_out
echo [%TIME% %nick%]: %msg%>>%chat%_history
goto talker_loop
rem ////////////////////


rem ================================================


rem ////////////////////
:cs_in

if exist "%chat%_cs" ping 127.0.0.1 -n 1 -w 50 > nul
set cs_value=%RANDOM%



:cs_in_loop
echo %cs_value%>%chat%_cs
set /p ret=<%chat%_cs
if "%ret%" == "%cs_value%" exit /b
ping 127.0.0.1 -n 1 -w 10 > nul
goto :cs_in_loop

rem ////////////////////


rem ////////////////////

:cs_out
del %chat%_cs
exit /b

rem ////////////////////



rem ================================================

Парсинг Я-новостей на PHP


 Парсинг Я-новостей 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
        <title>Парсинг Я.Новости</title>
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
<body>

<?php

function curlFunc($url){
 $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec($ch);
 curl_close($ch);
return $result;

}



function getYandexNews($q){
            $q = str_replace(" ","+",$q);
$h = curlFunc('http://news.yandex.ru/yandsearch?text='.$q.'&rpt=nnews2');

preg_match_all('/<a onclick="(.*?)" href="(.*?)"(.*?)class="title">(.*?)<\/a>(.*?)<span class="info">(.*?)<p>(.*?)<\/p>/is', $h, $matches);

$SStr = '';
for($i=1;$i<sizeof($matches[1]);$i++){

   if(!empty($matches[2][$i])){

         $SStr .= '<li><a href="'.trim(strip_tags($matches[2][$i])).'" target="_blank">'.trim(strip_tags($matches[4][$i])).'</a><br />

         '.$matches[7][$i].'

         <small>'.$lm.'</small>

         </li>';

         }

}

return  $SStr;

}

echo getYandexNews('Zapros');
?>

</body>
</html>

Счетчик введенных символов JQUERY




<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <title>textArea</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
</head>
<body>

<div><textarea id="messageText" cols="45" rows="15"></textarea></div>

<div>Количество символов: <span id="symbolsCounter"></span></div>

 
<script type="text/javascript">
$(function() {
    var ta = $("#messageText");
    var counter = $("#symbolsCounter");
    counter.html(ta.val().length);
    if ($.browser.mozilla && $.browser.version.substr(0,3)=="1.9") {
        ta.bind("input", function() {
            updateCounter();
        });
    }
    else {
        ta.bind("keyup", function() {
            updateCounter();
        });
    }



    function updateCounter() {
        counter.html(ta.val().length);
        var split = ta.val().split("\n");
        if (split.length > 15) {
            ta.attr("rows", split.length);
        }
    }
});
</script>
</body>
</html> 

пятница, 14 ноября 2014 г.

Парсим текст и сохраняем через FTP-соединение на PHP


Парсим текст и сохраняем через FTP-соединение на PHP

 

 /* получаем содержимое нужной нам страницы в переменную $content (обратите внимание, – мы используем для этого функцию file_get_contents. Она может работать с удаленными URL только если в настройках PHP установлена опция allow_url_fopen) */
$content = file_get_contents('http://news.yandex.ru/');
// Определяем позицию строки, до которой нужно все отрезать (используем функцию strpos()).
$pos = strpos($content, '<h2>Главные новости</h2>');
/*Отрезаем все, что идет до нужной нам позиции (функция substr в данном случае принимает два параметра: строка для обработки и //номер позиции. Функция вернет строку, НАЧИНАЯ с указанной позиции) */
$content = substr($content, $pos);
// Точно таким же образом находим позицию второй строки
$pos = strpos($content, '<hr>');
// Отрезаем нужное количество символов от нулевого
$content = substr($content, 0, $pos);
// не выводим полученную строку.
// echo $content;

// Отрезаем нужное количество символов от нулевого
$content = substr($content, 0, $pos);
// преобразовываем ссылку
$content = str_replace("href=\"/society/", "href=\"http://novostey.com/society/", $content);
// преобразовываем изображение
$content = str_replace("src=\"/thumbs/", "src=\"http://novostey.com/thumbs/", $content);
// создаем файл index.html
$fps = fopen("index.html","w+");
// записываем в index.html обработанную информацию
fwrite($fps,$content);
// закрываем файл index.html
fclose($fps);
// подключаемся к FTP
// переменные для логина
$ftphost = "ftp.narod.ru";
$user = "phpelse";
$password = "phpelse7";
// открываем FTP соединение, в случае неудачи останавливаем работу сценария
$fp = ftp_connect($ftphost) or die ("Не могу соединиться c FTP сервером");
// логинимся
$connect = ftp_login($fp, $user, $password);
// проверяем успешность входа
if($connect) echo "OK – мы вошли как $user ";
else
echo "Ошибка входа на FTP сервер";
ftp_pasv($fp, TRUE);
$indexfile = fopen("index.html", "r"); // открываем нужный файл для чтения
$loadfile = ftp_fput($fp, "index.html", $indexfile, FTP_ASCII); // передаем его на FTP
fclose($indexfile); // закрываем файл
// закрываем FTP соединение
ftp_close($fp);

Постоянные читатели

Популярные сообщения