代码拉取完成,页面将自动刷新
同步操作将从 youwen21/exwechat 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php
namespace youwen\exwechat;
/**
* 这个类是腾讯的DEMO
*/
/**
* XMLParse class
*
* 提供提取消息格式中的密文及生成回复消息格式的接口.
*/
class XMLParse
{
/**
* 提取出xml数据包中的加密消息
* @param string $xmltext 待提取的xml字符串
* @return string 提取出的加密消息字符串
*/
public function extract($xmltext)
{
try {
$xml = new \DOMDocument();
$xml->loadXML($xmltext);
$array_e = $xml->getElementsByTagName('Encrypt');
$array_a = $xml->getElementsByTagName('ToUserName');
$encrypt = $array_e->item(0)->nodeValue;
$tousername = $array_a->item(0)->nodeValue;
return array(0, $encrypt, $tousername);
} catch (\Exception $e) {
//print $e . "\n";
return array(ErrorCode::$ParseXmlError, null, null);
}
}
/**
* XML转数组
* @author baiyouwen
*/
public static function xmlToArray($xml)
{
$data = [];
$postObj = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
$data = self::_xml2arr($postObj);
return $data;
}
private static function _xml2arr($obj, $l = 1)
{
$arr = array();
foreach ($obj as $key => $value) {
if (isset($arr[$key])) {
if (isset($arr[$key][0])) {
if ($value->children()) {
$arr[$key][] = self::_xml2arr($value, $l++);
} else {
$arr[$key][] = strval($value);
}
} else {
$arr[$key] = array($arr[$key]);
if ($value->children()) {
$arr[$key][] = self::_xml2arr($value, $l++);
} else {
$arr[$key][] = strval($value);
}
}
} else {
if ($value->children()) {
$arr[$key] = self::_xml2arr($value, $l++);
} else {
$arr[$key] = strval($value);
}
}
}
return $arr;
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。