您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页PHP-xml & jsonp转数组的方法

PHP-xml & jsonp转数组的方法

来源:测品娱乐


一、xml转成数组,xml中包含<![CDATA[]]>标签

/**
 * 将xml转换为数组
 * @param string $xml:xml文件或字符串
 * @return array
 */
function xmlToArray($xml){
//考虑到xml文档中可能会包含<![CDATA[]]>标签,第三个参数设置为LIBXML_NOCDATA
if (file_exists($xml)) {
libxml_disable_entity_loader(false);
$xml_string = simplexml_load_file($xml,'SimpleXMLElement', LIBXML_NOCDATA);
}else{
libxml_disable_entity_loader(true);
$xml_string = simplexml_load_string($xml,'SimpleXMLElement', LIBXML_NOCDATA);
}
$result = json_decode(json_encode($xml_string),true);
return $result;
}

二、jsonp转换成数组

/**
 * 把jsonp转为php数组
 * @param string $jsonp jsonp字符串
 * @param boolean $assoc 当该参数为true时,将返回array而非object
 * @return array
 */
function jsonp_decode($jsonp, $assoc = false)
{
 $jsonp = trim($jsonp);
 if(isset($jsonp[0]) && $jsonp[0] !== '[' && $jsonp[0] !== '{') {
 $begin = strpos($jsonp, '(');
 if(false !== $begin)
 {
 $end = strrpos($jsonp, ')');
 if(false !== $end)
 {
 $jsonp = substr($jsonp, $begin + 1, $end - $begin - 1);
 }
 }
 }
 return json_decode($jsonp, $assoc);
}

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务