Перейти к содержимому


- - - - -

Парсер с заменой


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 konan

konan
  • Консультант

  • Пользователь
  • 675 сообщений
  • Пол:Мужчина
  • Город:Солнцево

Отправлено 25.04.2012 - 23:47

Есть задача пропарсить html страницу (список товаров и цена) и переписать цену увеличенную на 30%
Название товара находится между тегов <td class=ss>Название товара</td>
Цена между тегами <td class=dd>Цена</td>
Что-то я не допру как сделать....
preg_match_all('/'.preg_quote($unique_str,'/').'(.*)'.preg_quote($unique_end, '/').'/Us', $code, $match);
Где
$unique_str = "<td class=ss>";
$unique_end = "</td>";
Получаю массив с названиями... но хотелось бы просто: берем файл загоняем в массив находим вхождение строки с ценой меняем на увеличенную величину и переписываем....
Ну как-то так...

#2 wext

wext
  • Новичок

  • Пользователь
  • 36 сообщений

Отправлено 20.05.2012 - 13:19

Ну напиши какую-то функцию для этого, которая по полученным данным из регулярного выражения выдаёт связку(-и) значений.
Не пойму, что вызывает затруднение раз регулярное выражение получено?
PS Неплохо бы ставить знаки препинания.
Функцию preg_quote советую использовать для экранирования динамических данных. Из всех экранируемых тобой данных преобразуется только символ " / ".
Ещё советую прочитать про квантификации на википедии.
Если нужна просто замена в файле, то используй функцию preg_replace_callback.

Сообщение отредактировал wext: 20.05.2012 - 13:37





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей