За последние 24 часа нас посетили 16383 программиста и 1678 роботов. Сейчас ищут 938 программистов ...

Как это реализовано?

Тема в разделе "Прочие вопросы по PHP", создана пользователем nikij, 18 мар 2014.

  1. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    плохо объяснил. от правильной терминологии зависит очень многое.

    каждая разновидность товара имеет свой код Stock Keeping Unit (SKU). размеры не принадлежат картинке ))) и картинки, и размеры-в-наличии относятся к конкретному SKU. структура базы должна как-то отражать этот факт.

    я не знаю и мне не интересно как распарсить SKU с того конкретного сайта. по структуре базы мы могли бы предметно поболтать.

    Добавлено спустя 7 минут 29 секунд:
    вообще прежде чем браться за дело, надо хоть немного изучить предмет. чтобы не было как в известной сказке о слепых мудрецах и слоне.

    [​IMG]
     
  2. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    Тогда по другому спрошу))

    Как вывести только "44,46,48,50_" из этой части кода?

    Код (Text):
    1. <li class='nomargin'>
    2.                                                             <img src="/image.php?width=97&amp;&height=146&amp;&cropratio=97:146&amp;image=/pictures/poduct_images_eXlvcOIqh5.jpg" alt="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1" title="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1"
    3.                                                             rel="44,46,48,50_"
    4.                                                             class="size_change" onclick="$('#slider_prod').cycle(0,'fade');"/>
    5.                                                         </li>
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    у самого есть идеи? ты начни, а мы поможем.
     
  4. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    пробовал этот код менять, что только не делал, выводит совсем не то что нужно..

    Код (Text):
    1. $url = "http://www.zemal.com.ua/product/1669";
    2. $html = file_get_contents($url);
    3.  
    4. $pattern = '/<img[^>]+rel="(.*)"/';
    5. preg_match_all($pattern, $html, $matches);
    6. print_r($matches);
     
  5. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Не вижу никаких изменений.
     
  6. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    эта регулярка должна работать.
    http://phpfaq.ru/debug
    в Chrome: Ctrl+U
     
  7. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    Это все не то..
    Нужно вывести только "44,46,48,50_" из этой части кода, а как ума не приложу..

    Код (Text):
    1. <li class='nomargin'>
    2.                                                             <img src="/image.php?width=97&amp;&height=146&amp;&cropratio=97:146&amp;image=/pictures/poduct_images_eXlvcOIqh5.jpg" alt="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1" title="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1"
    3.                                              rel="44,46,48,50_"
    4.                                              class="size_change" onclick="$('#slider_prod').cycle(0,'fade');"/>
    5.                                                         </li>
     
  8. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    что блин не то? регулярка, которую ты здесь написал, рабочая — наверное не ты её писал )))) она найдет то что надо. возможно ты не понял этого потому, что на выходе print_r есть текст тегов, страница от этого ломается! повтори тест и загляни в исходных код страницы. увидишь, что всё замечательно нашлось.

    ну или научись пользоваться htmlspecialchars.
     
  9. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    хмм, что-то нихрена не пойму.. вот что у меня выводит..

    Код (Text):
    1. Array
    2. (
    3.     [0] => Array
    4.         (
    5.             [0] => <img src="/image.php?width=97&amp;&height=146&amp;&cropratio=97:146&amp;image=/pictures/poduct_images_eXlvcOIqh5.jpg" alt="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1" title="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1"
    6.                                                             rel="44,46,48,50_"
    7.             [1] => <img src="/image.php?width=97&amp;&height=146&amp;&cropratio=97:146&amp;image=/pictures/poduct_images_lQugqKIAks.jpg" alt="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1" title="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1"
    8.                                                             rel="44,46,48,50_"
    9.             [2] => <img src="/image.php?width=97&amp;&height=146&amp;&cropratio=97:146&amp;image=/pictures/poduct_images_B6ySmuuZ6p.jpg" alt="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1" title="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1"
    10.                                                             rel="44,46,48,50_"
    11.             [3] => <img src="/image.php?width=97&amp;&height=146&amp;&cropratio=97:146&amp;image=/pictures/poduct_images_kVROl9rowc.jpg" alt="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1" title="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1"
    12.                                                             rel="44,46,48,50_"
    13.         )
    14.  
    15.     [1] => Array
    16.         (
    17.             [0] => 44,46,48,50_
    18.             [1] => 44,46,48,50_
    19.             [2] => 44,46,48,50_
    20.             [3] => 44,46,48,50_
    21.         )
    22.  
    23. )
     
  10. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    ну всё верно
    вот же оно:
    Код (Text):
    1. [1] => Array
    2.         (
    3.             [0] => 44,46,48,50_
    4.             [1] => 44,46,48,50_
    5.             [2] => 44,46,48,50_
    6.             [3] => 44,46,48,50_
    7.         )
    )))
     
  11. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    Так-то да, но ведь нужно чтобы выводились те размеры которые пренадлежат допустим poduct_images_eXlvcOIqh5.jpg , или poduct_images_lQugqKIAks.jpg
     
  12. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    всё ясно, я зря тратил буквы. определись с ценой и пиши во Free-lance
     
  13. nikij

    nikij Новичок

    С нами с:
    18 мар 2014
    Сообщения:
    18
    Симпатии:
    0
    та как раз вам ничего не ясно, вы не поняли (или не хотите понимать) суть задачи..
    Пусть нам известно имя картинки poduct_images_eXlvcOIqh5.jpg
    Нужно вывести на страницу именно те размеры, которые принадлажат картинке с этим именем..

    Код (Text):
    1.   <img src="/image.php?width=97&amp;&height=146&amp;&cropratio=97:146&amp;image=/pictures/poduct_images_eXlvcOIqh5.jpg" alt="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1" title="Женская одежда - Гольфы | Жакеты | Туники - PL1-637-1"
    2.                                              rel="44,46,48,50_"
    3.                                              class="size_change" onclick="$('#slider_prod').cycle(0,'fade');"/>
    4.                                                         </li>
     
  14. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    да я понял суть задачи: "халява приди" называется )))
    ты хочешь чтобы кто-то написал за тебя буквально всё до последней строчки.
    http://www.youtube.com/watch?v=Jlgi5EBkacg
     
  15. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Точно.
     
  16. rukisalat

    rukisalat Активный пользователь

    С нами с:
    18 сен 2013
    Сообщения:
    39
    Симпатии:
    0
    Возьми какой нибудь класс типа simple html dom parser.
     
  17. Lagger

    Lagger Новичок

    С нами с:
    6 апр 2014
    Сообщения:
    2
    Симпатии:
    0
    ето можно зделать и на php и на JavaScript
     
  18. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Мозг и руки надо заюзать.
    И как ты на Javascript-е будешь выкачивать страницу и парсить?
     
  19. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Lagger, js очень худ в парсере, если страница пришла строкой, будет сложно парсить, это скорее не относится к DOM - это уже регулярки, а они убогие в js, костыли еще те. Проще уже принимать в js от сервера в том виде который хотим.

    Но изменений я все равно не увидел.