обработать код страницы

Программирование, которое не связано с API.
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

обработать код страницы

Сообщение ukhov »

есть страница (удалённая, на другом сайте). В некоторой части её кода повторяется:

Код: Выделить всё

<a href='http://site.ru/1/2/3/xxxxx' подсказка='lllll 357'>357</a>
Где урл всегда одинаковый кроме ххххх. Номера всегда разные (357 привёл к примеру). А lll всегда одинаковые. Как всё это мо жно обработать? Например, for each { ... $xxxxx = $p['xxxxx']; // извлечённое из урл, ну и так с каждым лараметром ... }
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: обработать код страницы

Сообщение bodnar »

explode ?
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

Re: обработать код страницы

Сообщение ukhov »

explode это когда есть готовая строка без лишнего кода
а там всякие

Код: Выделить всё

<html> efg  wehg  eh   g eh  e wh  d  ed httrhrt  rh  eh  whweh  wehw h   // код страницы (ненужный)  // НУЖНОЕ <a href='http://site.ru/1/2/3/uGFoP' подсказка='lllll 1'>1</a><a href='http://site.ru/1/2/3/Pd8jK' подсказка='lllll 2'>2</a><a href='http://site.ru/1/2/3/l8jHT' подсказка='lllll 3'>3</a> // НУЖНОЕ   jirnht r th er h e rh re h rekj hkerhreehtyphpyt // код страницы (ненужный) </html>
и так около 1000. и надо чтобы как например из mysql каждая строка обрабатывается

Код: Выделить всё

$query = "SELECT * FROM `tabliza`";$res = mysql_query($query) or die(mysql_error()); $number = mysql_num_rows($res); if ($number == 0) {   echo "<P>Записей в базе нет"; } else {  /* Получать по одной строке из таблицы в массив $row, пока строки не кончатся */    while ($row=mysql_fetch_array($res)) {        echo " Имя : ".$row['first_name']."<br>Фамилия : ".$row['last_name']."<br>===============================  ";  } } 
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: обработать код страницы

Сообщение bodnar »

можно. просто надо поизвращаться сильно.
регулярки мучай
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: обработать код страницы

Сообщение Александр »

Сначала выбери нужную часть страницы

Код: Выделить всё

preg_match_all( '#<span>(.+?)</span>#is', $html, $matches);  // например текст между тегами <span></span>
Потом её обработай

Код: Выделить всё

preg_match_all('#\'>(.+?)</a>#is', $html, $matches);  foreach ($matches[1] as $value) {    echo $value.'<br />'; }
Апостроф заэкранируй '#\'>
Парсер форума съедает.
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

Re: обработать код страницы

Сообщение ukhov »

если честно не очень понятно

preg_match_all - <span> заменить на код страницы (лишний), который до нужного кода. а </span> заменить на код страницы (лишний), который посленужного кода, да?

а что здесь значит $html и $matches и $value?
Nick Lisogor
FL Team
FL Team
Сообщения: 119
Зарегистрирован: 12 дек 2010, 14:08

Re: обработать код страницы

Сообщение Nick Lisogor »

Учи php...
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

Re: обработать код страницы

Сообщение ukhov »

Nick Lisogor писал(а):Учи php...
а сам то можешь ответить????? :evil:
Nick Lisogor
FL Team
FL Team
Сообщения: 119
Зарегистрирован: 12 дек 2010, 14:08

Re: обработать код страницы

Сообщение Nick Lisogor »

Да, конечно. Это не сложно, если ты что-то учишь, а не достаешь людей вопросами, ответы на которые даже в гугле можно за 5 минут найти.
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: обработать код страницы

Сообщение Александр »

ukhov
http://www.php.su/functions/?preg-match-all
ukhov писал(а): <span> заменить на код страницы (лишний), который до нужного кода. а </span> заменить на код страницы (лишний), который посленужного кода, да?
Не весь код страницы до и после, а те части кода, по которым можно точно определить нужный фрагмент

Например

Код: Выделить всё

preg_match_all('#'>(.+?)</a>#is', $html, $matches);
Отделит в

Код: Выделить всё

<a href='http://site.ru/1/2/3/Pd8jK' подсказка='lllll 2'>2</a>
фрагмент между '> и </a>.
Ответить