Curl контент поместить в массив php

186
11 января 2019, 21:10

Всем привет, имеется информация полученная через CURL с содержимым: login=Вася Пупкин city=Москва tel=0 123 456 567 sex=male

Как мне правильно разбить её на массив для дальнейшей работы с данными? На данный момент у меня есть вот такой код, но почему то я не могу его пропустить через forech: Invalid argument supplied for foreach() Я так понимаю это из за того, что полученная информация передается не в массиве.

<?php
function file_get_contents_curl($url) { 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);  
    curl_setopt($ch, CURLOPT_USERAGENT, "Justice.ru");
    $data = curl_exec($ch); 
    curl_close($ch); 
    return $data; 
} 
$lines = file_get_contents_curl('http://emeraldscity.combats.ru/inf.pl?short=1327641470');
foreach($lines as $value)
        { 
                list($var, $val) = explode('=',$value); 
                $arr[$var] = $val; 
        }
echo $arr[login];
?>
Answer 1

Первый вариант с проверкой

$result = preg_split('/\r\n|\r|\n/', $lines);
foreach($result as $value){
  if($value != ''){
    list($var, $val) = explode('=',$value);
    $arr[$var] = $val;
  }
}

Второй вариант. Можно сразу в preg_split указать, чтобы пропускались пустые строки

$result = preg_split('/\n|\r/', $lines, -1, PREG_SPLIT_NO_EMPTY);
foreach($result as $value)
{
  list($var, $val) = explode('=',$value);
  $arr[$var] = $val;
}
READ ALSO
PHP замена аттрибутов в HTML теге

PHP замена аттрибутов в HTML теге

Прошу советов от специалистов в PHP, по такой задаче:

153
Что за ключевое слово такое в PHP?

Что за ключевое слово такое в PHP?

Наткнулся в ходе изучения чужого кода на Yii2 с такой вот штукой

156
Существует ли API для работы с Google Doc?

Существует ли API для работы с Google Doc?

Для работы с Google Sheets есть, а для работы с Google Doc не нашёл

188
Как получить несколько таблиц на rest api на yii2

Как получить несколько таблиц на rest api на yii2

У меня есть TableName1, TableName2, TableName3 и я хочу получить их по запросу например:

165