3v4l.org

run code in 300+ PHP versions simultaneously
<?php $xml = <<<'XML' <AIUTO><BASE_GIURIDICA_NAZIONALE>Quadro riepilogativo delle misure a sostegno delle imprese attive nei settori agricolo, forestale, della pesca e acquacoltura ai sensi della Comunicazione della Commissione europea C (2020) 1863 final – “Quadro temporaneo per le misure di aiuto di Stato a sostegno dell’economia nell’attuale emergenza del COVID&#2;19” e successive modifiche e integrazioni</BASE_GIURIDICA_NAZIONALE></AIUTO> XML; class fix_entities_filter extends php_user_filter { function filter($in, $out, &$consumed, bool $closing): int { while ($bucket = stream_bucket_make_writeable($in)) { $bucket->data = $this->fix($bucket->data); $consumed += $bucket->datalen; stream_bucket_append($out, $bucket); } return PSFS_PASS_ON; } function fix($data) { return strtr($data, ['&#2;' => '&#x202f;']); } } stream_filter_register("fix_entities", "fix_entities_filter") or die("Failed to register filter"); $fileNamePath = "php://filter/read=fix_entities/resource=data:text/plain;base64," . base64_encode($xml); $reader = new XMLReader(); if (!$reader->open($fileNamePath)) { echo "Error opening file: $fileNamePath", PHP_EOL; } echo "Processing XML", PHP_EOL; while ($reader->read()) { if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'AIUTO') { try { $input = $reader->readOuterXML(); $nodeAiuto = new SimpleXMLElement($input); var_dump($nodeAiuto); } catch(Exception $e) { echo "Error Node AIUTO ", $e->getMessage(), PHP_EOL; continue; } //Do stuff here } } $reader->close();
Output for git.master, git.master_jit, rfc.property-hooks
Processing XML object(SimpleXMLElement)#3 (1) { ["BASE_GIURIDICA_NAZIONALE"]=> string(367) "Quadro riepilogativo delle misure a sostegno delle imprese attive nei settori agricolo, forestale, della pesca e acquacoltura ai sensi della Comunicazione della Commissione europea C (2020) 1863 final – “Quadro temporaneo per le misure di aiuto di Stato a sostegno dell’economia nell’attuale emergenza del COVID 19” e successive modifiche e integrazioni" }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
100.27 ms | 406 KiB | 5 Q