|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.01.2014, 10:04 | #1 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
парсим на php - помогите разобраться с проблемой.
Всем добрый день и с наступающим.
Пытаюсь вырезать текст на странице при помощи preg_replace. Имеем такую страницу: http://shop.neoncomputers.ru/catalog...ps-pta317.html и хочу вырезать строки: При заказе сегодня, товар поступит в пункт выдачи ул.Димитрова д.112A 09.1.2014 пробую делать так: Код:
|
03.01.2014, 11:20 | #2 |
Участник клуба
Регистрация: 08.03.2008
Сообщений: 1,537
|
С регулярками я вам не помогу.. могу дать совет использовать для парсинга либу simple php http://simplehtmldom.sourceforge.net/
Там синтаксис выделения блока очень схож на jquery формат. Просто и быстро получается получить текст/хтмл нужного блока |
03.01.2014, 12:04 | #3 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
Будем пробывать. но вопрос первоначальный открытый =) хотелось бы в нем разобраться =)
|
03.01.2014, 13:23 | #4 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
еще вопрос в довесок. Пытаюсь удалить блок добавления в карзино по той же ссылке. пишу такую регулярку:
PHP код:
|
03.01.2014, 14:56 | #5 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
Собственно с последним парсером разобрался. Я так понял что уменя проблемы с составлением регулярных выражений если встречаются символы новой строки. Как правильно их учитывать в регулярных выражениях на моем первом примере?
|
03.01.2014, 15:06 | #6 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
Второй вопрос решил. проблема была в кодировках. Код на utf-8 строка на win-1251. Перекодил строку и заработало
|
03.01.2014, 17:02 | #7 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
новый вопрос назрел.
Имеется вот такой текст с ценой: Код HTML:
<div style="float:right;text-align:right"> <div><strong>Цена: </strong><font style="font-weight:bold"> 297 руб.</font> </div> <div><div> </div></div> </div> PHP код:
Делаем правило замены: Код HTML:
<div><strong>Цена: </strong><font style="font-weight:bold">123</font> Код HTML:
<div><strong>Цена: </strong><font style="font-weight:bold">123</font>. </div> Последний раз редактировалось Armatus; 03.01.2014 в 17:07. |
09.01.2014, 10:50 | #8 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
Господа подсобите как правильно составить регулярное выражение
Есть строка: <form action="/index.php" method="post" name="addtocart" id="addtocart"> и строки <form action="/index.php" method="post" name="addtocart" id="addtocart0"> <form action="/index.php" method="post" name="addtocart" id="addtocart1"> ... <form action="/index.php" method="post" name="addtocart" id="addtocartn"> Соответсвенно n - это число которое не более трех цифр. для первой строки сделал правило: !<form action="/index.php" method="post" name="addtocart" id="addtocart">.*<input.*name="Item id"[^>]*></form>!si Вопрос - как допилить мое правило для остальных строк? Пробовал вот так, но результат не дало: !<form action="/index.php" method="post" name="addtocart[^"]*?" id="addtocart">.*<input.*name="Item id"[^>]*></form>!si Подозреваю синтаксическую ошибку. |
09.01.2014, 11:42 | #9 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
а при чем тут name?
|
09.01.2014, 11:55 | #10 |
Форумчанин
Регистрация: 09.05.2009
Сообщений: 122
|
пардон - врожденное косоглазие =) я подразумевал свойствой id в регулярном выражении и мое регулярное выражение не работает:
!<form action="/index.php" method="post" name="addtocart" id="addtocart[^"]*?">.*<input.*name="Item id"[^>]*></form>!si |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите разобраться с PHP и checkbox | Михаил6289 | PHP | 5 | 03.11.2013 18:24 |
Помогите разобраться с PHP | Nykone | PHP | 13 | 12.04.2011 09:52 |
как разобраться с проблемой с Canvas | Seran4ek | Общие вопросы Delphi | 6 | 19.04.2010 00:28 |
ПОМОГИТЕ разобраться с проблемой | wertev | Помощь студентам | 1 | 17.01.2009 11:47 |