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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регулярное выражение, и выдернуть значения с его помощью 
V
    Опции темы
xolod
Дата 6.6.2006, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Из такой гадости
Код

<tr bgcolor="#ffffff">
<td align="right" >036</td>
<td align="left" >&nbsp;&nbsp;AUD</td>
<td align="right" >1</td>
<td>&nbsp;&nbsp;Австралийский доллар</td>
<td align="right">20,5653</td>
</tr>

<tr bgcolor="#ffffff">
<td align="right" >124</td>
<td align="left" >&nbsp;&nbsp;CAD</td>
<td align="right" >1</td>
<td>&nbsp;&nbsp;Канадский доллар</td>
<td align="right">24,1295</td>
</tr>

выдираем значения между <td></td> везде
Код

$pattern = '|<tr\s+bgcolor\=\"\#ffffff\"[^>]*?>.*?<td[^>]*?>([0-9]){3}</td>.*?<td[^>]*?>(.*)</td>.*?<td[^>]*?>([0-9]+)</td>.*?<td[^>]*?>(.*)</td>.*?<td[^>]*?>([0-9\,]+)</td>.*?</tr>|ims';
preg_match_all($pattern, $page, $matches);
/* И распечатаем для наглядности */
echo('<pre>');
print_r($matches);
echo('</pre>');


То, что возвращает, похоже на правду, но чую — гадость. Наверняка где-то ошибся, но никак не пойму где. Свежим взглядом может окинет кто-нибудь. Спасибо заранее!
PM MAIL   Вверх
sugee
Дата 6.6.2006, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



 А  зачем всё так сложно?
Регулярку бы я так записал
Код

$pattern = '|<td.*>&nbsp;*(.*)<\/td>|ims';
  

Это сообщение отредактировал(а) sugee - 6.6.2006, 18:04
PM MAIL   Вверх
Mal Hack
Дата 6.6.2006, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Модератор: есть же раздел для регулярок.
Модератор: Название темы должно отражать ее суть!
 
PM ICQ   Вверх
Azazel
Дата 7.6.2006, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(sugee @ 6.6.2006,  18:03)
А  зачем всё так сложно?
Регулярку бы я так записал
Код

$pattern = '|<td.*>&nbsp;*(.*)<\/td>|ims';

Вы слышали когда-нибудь о "жадности" квантификаторов?smile)))

Смысл регулярки дали правильный, но оформили его очень криво.

Код

$pattern = '/<td.*?>(.*?)<\/td>/is';
 
PM MAIL   Вверх
xolod
Дата 7.6.2006, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Azazel @  7.6.2006,  12:20 Найти цитируемый пост)
Вы слышали когда-нибудь о "жадности" квантификаторов?)))

Умник?

Регулярка типа
Код

$pattern = '/<td.*?>(.*?)<\/td>/is';

не поможет. Но я устал уже объяснять почему, malhack все резал вчера, настроение не очень видимо было :).

По теме — все сделал. Перед закрывающимся </tr> надо удалить инвертирования жадности и убрать модификатор m.
Всем спасибо.
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.

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


 




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


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

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