Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск всех подстрок, RegEx 
:(
    Опции темы
lancelot555
Дата 19.7.2005, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 19.2.2005

Репутация: нет
Всего: нет



Есть текстовая переменная $buffer содержащая html текст.
Нужно вытащить ВСЕ подстроки из $buffer удовлетворяющие выражению
Код
eregi("[[:alnum:]]+[@][[:alnum:]]+[//.][[:alpha:]]+",$buffer,$result);
в массив. smile smile
--------------------
Hи что так не поpтит цель, как попадание! =)
PM MAIL   Вверх
Bikutoru
Дата 19.7.2005, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 8
Всего: 22



lancelot555, нужно пользоваться preg_match_all. А "выкусывание" емайлов обсуждалось, кажется, в разделе РНР: Уроки

Это сообщение отредактировал(а) Bikutoru - 19.7.2005, 18:01


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
lancelot555
Дата 19.7.2005, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 19.2.2005

Репутация: нет
Всего: нет



Цитата
lancelot555, нужно пользоваться preg_match_all

Это вроде для перловских регулярных выражений... У меня не работает...

Цитата
А "выкусывание" емайлов обсуждалось, кажется, в разделе РНР: Уроки

Плз. если нетрудно дай ссылку, не смог найти...
--------------------
Hи что так не поpтит цель, как попадание! =)
PM MAIL   Вверх
Bikutoru
Дата 19.7.2005, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 8
Всего: 22



Цитата
Это вроде для перловских регулярных выражений... У меня не работает...

Да, для перловских, здесь приводятся объяснения почему в твоей задаче следует использовать их
http://detail.phpclub.ru/article/simple_regular (в самом начале третьей части)

Это просто полезно прочитать:
http://forum.vingrad.ru/index.php?showtopic=55191

А здесь несколько вариантов с е-майлами
http://forum.vingrad.ru/index.php?showtopic=55764

Плюс рекомендую
http://ru3.php.net/manual/en/function.preg-match-all.php
smile



--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
Mal Hack
Дата 19.7.2005, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(lancelot555 @ 19.7.2005, 19:45)
Это вроде для перловских регулярных выражений... У меня не работает...

Все должно работать preg_*() входяти в ядро PHP, поэтому будут работать всегда.
Да и потом те подстроки, которые у тебя нашлись через eregi будут достпны в массиве $result
PM ICQ   Вверх
Bikutoru
Дата 19.7.2005, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: 8
Всего: 22



Цитата
будут работать всегда

в сторону шепотом (чтоб модераторы не заметили): если испольовать корректные PRCE...


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
lancelot555
Дата 19.7.2005, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 19.2.2005

Репутация: нет
Всего: нет



к сожалению мне вот так сразу не разобраться с PCRE
Плз... напишите аналог выражения
Код

eregi("[[:alnum:]]+[@][[:alnum:]]+[//.][[:alpha:]]+",$buffer,$result);
на PRCE для функции preg_match_all



Цитата

Все должно работать preg_*() входяти в ядро PHP, поэтому будут работать всегда.
Да и потом те подстроки, которые у тебя нашлись через eregi будут достпны в массиве $result

Не работает потому что я не знаю синтаксиса PCRE...
В массиве оказывается только первая найденная подстрока...
--------------------
Hи что так не поpтит цель, как попадание! =)
PM MAIL   Вверх
Mal Hack
Дата 19.7.2005, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(lancelot555 @ 19.7.2005, 21:48)

Не работает потому что я не знаю синтаксиса PCRE...
В массиве оказывается только первая найденная подстрока...

Покажи что ты написал, а мы поможем, подправим.
PM ICQ   Вверх
lancelot555
Дата 19.7.2005, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 19.2.2005

Репутация: нет
Всего: нет



ok, вот примерный код

Код

############################
$url="http://domsell/contacts.php";
 $fp = fsockopen ("domsell", 80, $errno, $errstr, 3000000);
if (!$fp) {
    echo "$errstr ($errno)<br>\n";
} else {
    fputs ($fp, "GET $url HTTP/1.0\r\nHost: domsell\r\n\r\n");
    while (!feof($fp)) {
$p = fopen ("file.htm", "a");
 fwrite ($p, fgets ($fp, 128));
 fclose ($p);
            }
    fclose ($fp);
} 
$fl=fopen ("file.htm", "r");
$buffer=fread($fl, 100000);
fclose($fl);
eregi("[[:alnum:]]+[@][[:alnum:]]+[//.][[:alpha:]]+", $buffer, $result);
echo $result[0];
############################



p.s. этот скрипт находит первый e-mail и выводит его...
А надо бы чтобы находились все %)

Это сообщение отредактировал(а) lancelot555 - 19.7.2005, 21:00
--------------------
Hи что так не поpтит цель, как попадание! =)
PM MAIL   Вверх
Mal Hack
Дата 19.7.2005, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Елки палки, ды у тебя же мыла...
http://forum.vingrad.ru/index.php?showtopi...view=getnewpost
PM ICQ   Вверх
lancelot555
Дата 20.7.2005, 06:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 19.2.2005

Репутация: нет
Всего: нет



Цитата(Mal @ 19.7.2005, 21:02)
Елки палки, ды у тебя же мыла...
http://forum.vingrad.ru/index.php?showtopi...view=getnewpost


Спасибо %)
--------------------
Hи что так не поpтит цель, как попадание! =)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0509 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.