ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

01.07.2007, 19:57
|
|
Новичок
Регистрация: 02.06.2007
Сообщений: 24
Провел на форуме: 119202
Репутация:
19
|
|
Сообщение от FreeNeDiX
В итоге вместо нужной новости я вижу надпись Array.
Что не так?
mixed preg_match ( string pattern, string subject [, array &matches [, int flags [, int offset]]] ) Ищет в заданном тексте subject совпадения с шаблоном pattern.
В случае, если дополнительный параметр matches указан, он будет заполнен результатами поиска.
Элемент $matches[0] будет содержать часть строки, соответствующую вхождению всего шаблона, $matches[1] - часть строки, соответствующую первой подмаске, и так далее.
Попробуй
print($out[0];
|
|
|

02.07.2007, 01:44
|
|
Новичок
Регистрация: 01.06.2007
Сообщений: 16
Провел на форуме: 45987
Репутация:
0
|
|
print_r($out); пробовал, не работает, точнее вместо Array, выводится Array ( ).
Не print($out[0];
а print($out[0]);, иначе ошибка...хотя все равно не работает и высвечивается...точнее ничего не выводится на экран. Мистика...
|
|
|

02.07.2007, 03:40
|
|
Постоянный
Регистрация: 23.03.2006
Сообщений: 977
Провел на форуме: 2976185
Репутация:
694
|
|
если $out массив то таким макаром он и не выведет. Почитайте про обход массивов.
|
|
|

02.07.2007, 05:12
|
|
Познающий
Регистрация: 21.05.2007
Сообщений: 61
Провел на форуме: 79888
Репутация:
145
|
|
Тебе дали нерабочую регулярку. Но тем не менее проверь, действительно ли в переменной $content содержится нужная страница.
И нужно было проявить минимум смекалки, чтобы догодаться, что если переменная пустая, когда при echo $variable; ничего не выводится. Я не знаю кем надо быть, чтобы по этому поводу вопросы задавать. Аналогично по функции print_r. Только тут еще надо хотя-бы слегка быть знакомым с понятием массив.
PHP код:
$pattern = "/<p\salign\=\"left\"\>\<b\>(.+?)\<\/b\>\<\/p\>\s+\<p\>(.+?)\<\/td\>/is";
|
|
|

02.07.2007, 05:56
|
|
Новичок
Регистрация: 01.06.2007
Сообщений: 16
Провел на форуме: 45987
Репутация:
0
|
|
Да, дейсвительно, спасибо тебе blaga. Вот полностью рабочий код:
<?php
$url = "http://site.nu/news.html";
$content = file_get_contents($url);
$pattern = "@<td height=\"40\" valign=\"top\"><b>Новость:</b><p>(.*)</td>@isU";
preg_match_all($pattern, $content, $out);
foreach($out[0] as $info)
{
echo("$info");
}
?>
|
|
|

02.07.2007, 17:37
|
|
Познавший АНТИЧАТ
Регистрация: 02.05.2006
Сообщений: 1,191
Провел на форуме: 7364332
Репутация:
1276
|
|
Суть проблемы в том, что есть скрипт работает с определенным файлом, считывание и запись в него, как возможно заблокировать как нибудь допуск к этому файлу пока работает это скрипт, и от повторной запуски данного скрипта?
|
|
|

03.07.2007, 17:20
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
DIAgen, тебе нужна функция flock()
if($fp=fopen($filename,'w') && flock($fp,LOCK_EX))
/*LOCK_EX - блокировка
взаимоисключающего доступа(используется для записи)*/
{
$rs=fwrite($fp,$content);
flock($fp, LOCK_UN); //LOCK_UN снять блок
fclose($fp);
return $rs;
}
для чтения используй LOCK_SH
Последний раз редактировалось Ni0x; 03.07.2007 в 17:23..
|
|
|

06.07.2007, 09:11
|
|
Новичок
Регистрация: 30.03.2007
Сообщений: 6
Провел на форуме: 17852
Репутация:
7
|
|
У меня такой вопрос я не могу подключить библиотеку php_sockets.dll(. Вроде всё делал так же как и при подключении библиотеки для работы с скуль( но скуль работает а это нет). За рание благодарен.
|
|
|

06.07.2007, 10:28
|
|
Постоянный
Регистрация: 20.01.2007
Сообщений: 787
Провел на форуме: 2924346
Репутация:
1719
|
|
Сообщение от Ska
У меня такой вопрос я не могу подключить библиотеку php_sockets.dll(. Вроде всё делал так же как и при подключении библиотеки для работы с скуль( но скуль работает а это нет). За рание благодарен.
куда ты ставил? на локалхост? если да, то как?
я ставил так: скопировал .dll в каталог %WINDIR%\SYSTEM и раскомментировал строчку
;extension=php_sockets.dll //string #587
в php.ini (раздел Динамические Загружаемые Расширения)
|
|
|

06.07.2007, 11:55
|
|
Новичок
Регистрация: 30.03.2007
Сообщений: 6
Провел на форуме: 17852
Репутация:
7
|
|
n1†R0x да вроде всё так и делал. Ettee правильно указан.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|