3v4l.org

run code in 300+ PHP versions simultaneously
<?php $htmlString = <<<HTML <div class="singlepost"> <ul class="linha_status" style=""> <li>Status: <b>Objeto em trânsito - por favor aguarde</b></li> <li>Data : 24/10/2021 | Hora: 12:04</li> <li>Origem: Unidade de Tratamento - Jaboatao Dos Guararapes / PE</li> <li>Destino: Agência dos Correios - Cuitegi / PB</li> </ul> <ul class="linha_status" style=""> <li>Status: <b>Objeto em trânsito - por favor aguarde</b></li> <li>Data : 19/10/2021 | Hora: 00:03</li> <li>Origem: Unidade de Logística Integrada - Curitiba / PR</li> <li>Destino: Unidade de Tratamento - Recife / PE</li> </ul> <ul class="linha_status" style=""> <li>Status: <b>Fiscalização aduaneira finalizada</b></li> <li>Data : 18/10/2021 | Hora: 23:35</li> <li>Local: Unidade Operacional - Curitiba / PR</li> </ul> <ul class="linha_status" style=""> <li>Status: <b>Objeto recebido pelos Correios do Brasil</b></li> <li>Data : 16/10/2021 | Hora: 11:45</li> <li>Local: Unidade de Logística Integrada - Curitiba / PR</li> </ul> <ul class="linha_status" style=""> <li>Status: <b>Objeto postado</b></li> <li>Data : 14/10/2021 | Hora: 20:30</li> <li>Local: País - / </li> </ul> </div> HTML; $result = []; $doc = new DOMDocument; $doc->loadHTML('<?xml encoding="UTF-8">' . $htmlString); $xpath = new DOMXPath($doc); foreach ($xpath->query('//ul[@class="linha_status"]') as $i => $ul) { foreach ($xpath->query('li', $ul) as $li) { foreach (explode("|", $li->nodeValue) as $segment) { [$key, $result[$i][$key]] = preg_split('/\s*:\s*/', trim($segment), 2); } } } var_export($result);

preferences:
36.42 ms | 407 KiB | 5 Q