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

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

  Все выпуски  

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


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

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

Выпуск № 562
от 08.01.2007, 00:05

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


Вопрос № 69344: Здравствуйте ув. эксперты, с новым годом! есть маленький вопрос: как извлечь ссылки из переменной, если в переменной находится страница сайта...

Вопрос № 69.344
Здравствуйте ув. эксперты, с новым годом!
есть маленький вопрос:
как извлечь ссылки из переменной, если в переменной находится страница сайта
Отправлен: 02.01.2007, 23:51
Вопрос задал: Pessom (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Rok-set
Здравствуйте, Pessom!
Это делается при помощи регулярных выражений для поиска в строке.

int preg_match_all ( string pattern, string subject, array &matches [, int flags [, int offset]] )

Ищет в строке subject все совпадения с шаблоном pattern и помещает результат в массив matches в порядке, определяемом комбинацией флагов flags.
После нахождения первого соответствия последующие поиски будут осуществляться не с начала строки, а от конца последнего найденного вхождения.
Дополнительный параметр flags может комбинировать следующие значения (необходимо понимать, что использование PREG_PATTERN_ORDER одновременно с PREG_SET_ORDER бессмысленно):
PREG_PATTERN_ORDER
Если этот флаг установлен, результат будет упорядочен следующим образом: элемент $matches[0] содержит массив полных вхождений шаблона, элемент $matches[1] содержит массив вхождений первой подмаски, и так далее.
PREG_SET_ORDER
Если этот флаг установлен, результат будет упорядочен следующим образом: элемент $matches[0] содержит первый набор вхождений, элемент $matches[1] содержит второй набор вхождений, и так далее.
PREG_OFFSET_CAPTURE
В случае, если этот флаг указан, для каждой найденной подстроки будет указана ее позиция в исходной строке. Необходимо помнить, что этот флаг меняет формат возвращаемых данных: каждое вхождение возвращается в виде массива, в нулевом элементе которого содержится найденная подстрока, а в первом - смещение. Данный флаг доступен в PHP 4.3.0 и выше.
В случае, если никакой флаг не используется, по умолчанию используется PREG_PATTERN_ORDER.
Поиск осуществляется слева направо, с начала строки. Дополнительный параметр offset может быть использован для указания альтернативной начальной позиции для поиска. Дополнительный параметр offset доступен, начиная с PHP 4.3.3.
Возвращает количество найденных вхождений шаблона (может быть нулем) либо FALSE, если во время выполнения возникли какие-либо ошибки.

А вот одно из популярных выражений для поиска адресов URL:
/[-a-z0-9]+(.[-a-z0-9]+)*.(com|edu|info|[a-z][a-z])/i
есть, конечно, и более сложные и функциональные выражения, но это тема для
отдельного вопроса.
Думаю совместить всё вышесказанное в коде не составит особого руда ;)
---------
Есть то, чего вы не знаете, а есть то, о чём даже представить не можете! А оно всё равно есть....
Ответ отправил: Rok-set (статус: 8-ой класс)
Ответ отправлен: 03.01.2007, 04:35


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

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

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

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

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


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


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.38 от 20.12.2006
Яндекс Rambler's Top100

В избранное