From a88b42a26d4b8de75b3ae2be758ddd2d49840a02 Mon Sep 17 00:00:00 2001 From: "as2252258@163.com" Date: Tue, 10 Mar 2020 16:17:57 +0800 Subject: [PATCH] add clear --- wchat/common/Help.php | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/wchat/common/Help.php b/wchat/common/Help.php index 385b10c..ae1e7ab 100644 --- a/wchat/common/Help.php +++ b/wchat/common/Help.php @@ -35,23 +35,34 @@ class Help extends Miniprogarampage if (is_array($xml)) { return $xml; } + $matchQoute = '/(<\?xml.*?\?>)?<([a-zA-Z_]+)>(<([a-zA-Z_]+)><\/\4>)+<\/\2>/'; + if (!preg_match($matchQoute, $xml)) { + return self::jsonToArray($xml); + } try { $data = @simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); if ($data !== false) { - return json_decode(json_encode($data), TRUE); + $data = json_decode(json_encode($data), TRUE); + } else { + $data = $xml; } - $data = json_decode($xml, TRUE); } catch (\Exception $exception) { - $data = json_decode($xml, TRUE); + $data = $xml; } finally { - if (is_array($data)) { - return $data; - } - return $xml; + return $data; } } + public static function jsonToArray($xml) + { + $_xml = json_decode($xml, true); + if (is_null($_xml)) { + return $xml; + } + return $_xml; + } + /** * @param $xml * @return mixed