Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Товарищ Бородин
Статус: Профессионал
Рейтинг: 139
∙ повысить рейтинг >>
BahuL
Статус: 3-й класс
Рейтинг: 67
∙ повысить рейтинг >>
Бородин Константин Игоревич
Статус: 8-й класс
Рейтинг: 56
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 1098
от 09.03.2009, 20:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 461, Экспертов: 48
В номере:Вопросов: 3, Ответов: 5

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 161951: добрый вечер! стоит следующая задача: Создать сетевое клиентское приложение, реализующее обращения к www-серверу по протоколу HTTP и производящее обработку полученных данных. Приложение должно выполнять следующую функцию - составить и вывести с...


Вопрос № 161952: Всем здрасте! Подскажите плизз, каким образом, а если есть готовый скриптец - было бы вообще супер (разумеется с пояснениями), через пхп можно реализовать вычисление разрешения монитора пользователя? Заранее спасиба.... <img src="htt...
Вопрос № 161966: Здравствуйте! Возникла проблемка при парсинге html страниц. Когда считавается ответ сервера таким образом: $sans = ""; while(!feof($fp)) { $sans .= fgets($fp); } и ищется вхождение строки preg_m...

Вопрос № 161.951
добрый вечер! стоит следующая задача:
Создать сетевое клиентское приложение, реализующее обращения к www-серверу по протоколу HTTP и производящее обработку полученных данных. Приложение должно выполнять следующую функцию - составить и вывести список сайтов, на которые ссылаются страницы исходного сайта, и обладать дружественным к пользователю интерфейсом. Для формирования запросов и получения ответов сервера использовать функции для работы с сокетами. Адрес www-сервера и номер порта (по умолчанию 80) вводятся пользователем. Адрес может быть записан как в виде IP-адреса, так и в символьной форме. Приложение должно включать контроль ошибок при вводе и обработке запросов.

у меня такой вопрос... есть ли какая-нить стандартная функция, которая как раз составляет этот список...или же это как-то по-другому происходит?
Отправлен: 03.03.2009, 21:38
Вопрос задала: Lyuboff (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Волков Алексей
Здравствуйте, Lyuboff!
стандартной функции нет, за исключением функции обработки регулярных выражений, например preg_match_all ().
В Вашем случае удобно разделить задачу на три части:

1) интерфейс - форма ввода исходного сайта и её обработка;
2) получение кода страницы сайта с помощью сокетов;
3) обработка этого кода с помощью регулярного выражения для выделения конструкции <a href="[нужная нам ссылка]"> и вывод всех найденных результатов.

Поскольку я полагаю, что это учебное задание, то сознательно не привожу примера решения.
---------
Всё, что есть хорошего в жизни - либо незаконно, либо аморально, либо ведёт к ожирению...
Ответ отправил: Волков Алексей (статус: 3-й класс)
Ответ отправлен: 04.03.2009, 09:44

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 245004 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 161.952
    Всем здрасте!

    Подскажите плизз, каким образом, а если есть готовый скриптец - было бы вообще супер (разумеется с пояснениями), через пхп можно реализовать вычисление разрешения монитора пользователя?

    Заранее спасиба....



    P.S.: просто есть у меня скриптец, замечательно реализующий вычисление разорешения монеитора пользователя, но реализованный на джава скрипт + пхп, а это мне не очень нравится... Хотелось бы узнать, как можно это реализовать без участия джавы...
    Отправлен: 03.03.2009, 22:23
    Вопрос задал: Dfish (статус: Посетитель)
    Всего ответов: 2
    Мини-форум вопроса >>> (сообщений: 1)

    Отвечает: Селев Валерий
    Здравствуйте, Dfish!

    Во-первых, Джава и Джаваскрипт — суть разные технологии.
    Во-вторых, разрешение экрана отнсится к клиентской части, а РНР — к серверной.

    Таким образом, определить разрешение экрана пользователя без применения какой-либо технологии на стороне клиента (например, джаваскрипт) невозможно.
    Ответ отправил: Селев Валерий (статус: Студент)
    Ответ отправлен: 03.03.2009, 22:48

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 244987 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Отвечает: Jan
    Здравствуйте, Dfish!

    Присоединюсь к предыдущему эксперту и посоветую вообще поизучать HTTP. PHP используется в основном для формирования страницы, чтоб в последствии послать её на клиентский компьютер, как только таковая страница попадает клиенту, программа на PHP обычно уже завершена! То есть возможна передача данных только через посредника в виде javascript, и никак иначе.
    Ответ отправил: Jan (статус: 5-й класс)
    Ответ отправлен: 03.03.2009, 23:42

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 244990 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Вопрос № 161.966
    Здравствуйте! Возникла проблемка при парсинге html страниц. Когда считавается ответ сервера таким образом:
    $sans = "";
    while(!feof($fp))
    {
    $sans .= fgets($fp);
    }
    и ищется вхождение строки preg_match_all("#div#",$sans,$sec); , то это вхождение не находится. если искомый фрагмент разбивается переломом строки:
    **** di
    v***.
    Как с этим бороться, ума не приложу?

    Отправлен: 04.03.2009, 01:03
    Вопрос задал: Липатов Андрей Александрович (статус: Посетитель)
    Всего ответов: 2
    Мини-форум вопроса >>> (сообщений: 2)

    Отвечает: Товарищ Бородин
    Здравствуйте, Липатов Андрей Александрович!
    Ваше регулярное выражение действительно не предусматривает того, что искомый фрагмент может быть размазан по нескольким строкам.

    Что касается перевода строк, то и в этом случае есть выход. Надо немного переделать "регулярку" с тем, что учитывались переводы строк. Думаю, что если регулярное выражение будет выглядеть вот так:
    #ds*is*v#i
    то все будет нормально. Метасимвол s (некий "собирательный образ" ) учитывает переводы строк, символы табуляции, вобщем, все "неприятности".

    Желаю удачи :)
    С уважением, Товарищ Бородин
    Ответ отправил: Товарищ Бородин (статус: Профессионал)
    Россия, Новосибирск
    Тел.: +7-923-245-3366
    ----
    Ответ отправлен: 04.03.2009, 08:12

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 245001 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Отвечает: Hubbitus
    Здравствуйте, Липатов Андрей Александрович!

    Про регулярное выражение вроде #ds*is*v# Товарищ Бородин сказал верно, оно должно помочь (можно таже модификатор i добавить чтобы не учитывать регистр букв, это тоже у него не плохая идея, хотя в вопросе такой ели не стояло) в Вашем случае. Единственнное, он дал несколько совсем не верных описаний, думаю полезно будет поправить дабы не плодить заблуждений:
    > Ваше регулярное выражение действительно не предусматривает того, что искомый фрагмент может быть размазан по нескольким строкам. Следует добавить к регулярному выражению модификатор m.
    Т.к. в реегулярном выражении не используется никакого заякоревания на начало (^) или конец строки ($) то модификатор m совершенно бесполезен и не будет иметь никакого эффекта (в прочем и не помешает конечно, т.к. никакого)
    > Метасимвол s (некий "собирательный образ" ) учитывает переводы строк, символы табуляции, вобщем, все "неприятности".
    Не уверен чт о имеется ввиду под "неприятности", но в PCRE он значит все "пробельные символы" (пробелы, вертикальная и горизонтальная табуляция... )
    > Модфикатор s указывает, что поиск производится с учетом метасимволов.
    Извините, но совершенная ерунда. Модификатор s значит только что точке (.) (значит "любой символ") будедт также соответствовать и перенос строки, без него он единственный кто исключается из "любого". Т.к. точка не используется в данном регулярном выражении, также совершенно бессмысленен.

    Мануалы: По модификаторам: http://php.net/reference.pcre.pattern.modifiers
    Вообще по регулярным выражениям в ПХП (почти соответствует pcre, немного обрезан но весьма толковый. Наа русском - сокращенный вариант): http://php.net/regexp.reference
    Ответ отправил: Hubbitus (статус: 3-й класс)
    Ответ отправлен: 04.03.2009, 13:39

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 245017 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное