3v4l.org

run code in 300+ PHP versions simultaneously
<?php $dati2 = "<PDresponse> <isStatusOK>true</isStatusOK> <status>0</status> <payLoad> </payLoad> </PDresponse>"; $response = html_entity_decode($dati2); $xmlString = preg_replace("/(<\/?)(\w+):([^>]*>)/", "$1$2$3", $response); preg_match_all('/[^(\x20-\x7F)]*/', $xmlString, $badchars); if(isset($badchars[0])) { $badchars[0] = array_unique($badchars[0]); foreach($badchars[0] as $badchar) { $xmlString = preg_replace("/".$badchar."/", utf8_encode($badchar), $xmlString); } } /* adesso posso usare simplexml */ $xmlString = trim(preg_replace('/<\?xml.*\?>/', '', $xmlString, 1)); $xml = simplexml_load_string($xmlString,'SimpleXMLElement', LIBXML_NOCDATA); //print_r($xml); /* Verifico che il messaggio non sia ancora sporco, si sa mai*/ if($xml->soapenvBody->sendMessageResponse->sendMessageReturn != NULL) $xml = simplexml_load_string($xml->soapenvBody->sendMessageResponse->sendMessageReturn); //print_r($xml); if(strtolower($xml->isStatusOK) == "true") $hl7mess = $xml->payLoad->{'ADR_A19'}; else echo "errore"; print_r($hl7mess);

preferences:
41.55 ms | 402 KiB | 5 Q