За последние 24 часа нас посетил 112031 программист и 7648 роботов. Сейчас ищут 1743 программиста ...

Как содержимое переменной $returned, построчно добавить в массив.

Тема в разделе "PHP для новичков", создана пользователем kaurych, 7 авг 2018.

  1. kaurych

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

    С нами с:
    7 авг 2018
    Сообщения:
    23
    Симпатии:
    0
    Привет!
    Озадачили на php сценарий написать, а я только 7 лет назад его изучал и не пригодилось.
    За пару дней практически всё сделал, но тут на целый день застрял вот с какой проблемой:

    забираю curl данные в переменную,
    Код (Text):
    1. $returned = curl_exec($ch);
    вывожу в браузере,
    Код (Text):
    1. echo nl2br($returned);
    КРАСОТА.... данные на несколько экранов, но вот что, надо выловить определённые строчки с фразой "sources"
    чем вылавливать понял, подойдёт и strchr(), но она только первое вхождение с этой подстрокой определяет и всё остальное вываливает тоже, а это не надо!
    Я так понимаю надо каждую строчку добавить в массив и обрабатывать его уже, НО как засунуть $returned ?
    Я за му... ся уже б.. искать вариант решения как эту ху.. засунуть в массив пол дня уже сижу с этим. [​IMG][​IMG]
    Будьте так любезны о Сэнсэи учения php, подскажите вариант решения!
    Гугл весь перерыл - там такие варианты как:

    Код (Text):
    1. $massiv=(array) $returned  
    не хочет работать.
    Такое
    Код (Text):
    1. $lines = file('http://www.example.com/')  
    подобное тоже не работает... я имею ввиду
    Код (Text):
    1. $lines = file($returned);
    - -ну предполагаю что могло и отработать...
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.870
    Симпатии:
    955
  3. kaurych

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

    С нами с:
    7 авг 2018
    Сообщения:
    23
    Симпатии:
    0
    Возвращает массив строк, полученных разбиением строки string с использованием delimiter в качестве разделителя.
    Я его использовал для разбивки ссылки на необходимые части, но как строку добавить честно говоря затрудняюсь.. регулярные использовать как то? $ \n ?
     
  4. kaurych

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

    С нами с:
    7 авг 2018
    Сообщения:
    23
    Симпатии:
    0
    А всё, спасибо, тема:
    $massiv = explode ("\n", $returned);
    echo $massiv[5];
    действительно работает!
    Ваш ответ дал мне уверенность! ;)
    Думал, explode не катит!
    --- Добавлено ---
    Единственное в довес к топику ещё вопрос задам, почему у меня не выводится количество строк массива функцией sizeof ?
    $one = sizeof($massiv);
    $two = sizeof($massiv[0]);


    echo "One =" ($one);
    echo "Two =" ($two);
     
  5. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    Похоже, оператор конкатенации забыли.
     
  6. kaurych

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

    С нами с:
    7 авг 2018
    Сообщения:
    23
    Симпатии:
    0
    @Sail
    да спасибо, в процессе написания программы гуглил и наткнулся на '.' и '.=' их использование в echo, я думал, что только в соединении переменных эти операторы используются. За несколько дней написания программы всё не прочитаешь, но за то я написал её! Это не сайт, это обработка ссылки, которая прилетает в скрипт, внушительно получилось, но работает! Спасибо за помощь!