Разделить строку на несколько массивов на основе переменного (инкрементного) разделителя

Я пытаюсь преобразовать некоторые данные (таблицу) из Википедии в формат HTML, используя API Википедии. На самом деле, я достаточно глубоко в этом разбираюсь и думаю, что я почти в конце (знаменитые последние слова...). Однако у меня возникают проблемы с преобразованием строки данных в массивы, основанные на рейтинге аэропорта. Данные показывают рейтинг самых загруженных аэропортов, и я хочу разделить результаты на массивы в зависимости от рейтинга (поэтому первый массив = первый аэропорт и его данные, второй = второй аэропорт и т. Д. И т. Д.).

Код:

$endpoint = 'https://en.wikipedia.org/w/api.php?';

$worlds_busiest_airports_url = 'action=parse&page=List_of_busiest_airports_by_passenger_traffic&section=1&prop=wikitext&format=json';

$response = file_get_contents($endpoint . $worlds_busiest_airports_url);
$response_decoded = json_decode($response,true);

//echo "<pre>";
//print_r($response_decoded);
//echo "</pre>";

$data = $response_decoded['parse']['wikitext']['*'];

$start = strpos($data,'1.');

$data = substr($data,$start);

$strlen = strlen($data);

function index_data($data,$count,$strlen) {

    while ($count <= 19) {
        $count ++;
        $delimiter = $count . '.';


    }
}

index_data($data,0);

У меня есть разделитель, который должен увеличиваться при каждом достижении правильного числа. Я просто не знаю, как затем получить символы между этими разделителями и преобразовать их в массив. Я пытался использовать взорвать, но в конечном итоге возвращает отдельные символы.

Это формат данных (хотя очевидно, что есть больше записей:

 1.|| {{flagicon|USA}} [[Hartsfield–Jackson Atlanta International 
Airport]]||[[Atlanta]], [[Georgia (U.S. state)|Georgia]]|| United 
States||ATL/KATL||104,171,935||{{steady}}||{{increase}}2.6%
|-
|2.|| {{flagicon|PRC}} [[Beijing Capital International Airport]]||[[Chaoyang 
District, Beijing|Chaoyang]]-[[Shunyi District|Shunyi]], [[Beijing]]|| 
China||PEK/ZBAA||94,393,454||{{steady}}||{{increase}}5.0%
|-

и т.п.

Любой совет? Я также пытался использовать циклы, перебирая строку, пока не нашел разделитель, но опять же, я просто недостаточно хорошо разбираюсь в строковых функциях, чтобы что-то достичь.

0 ответов

Другие вопросы по тегам