You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
923 B
32 lines
923 B
<?php
|
|
namespace LaneWeChat\Core\Aes;
|
|
|
|
class XMLParse
|
|
{
|
|
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) {
|
|
return array(ErrorCode::$ParseXmlError, null, null);
|
|
}
|
|
}
|
|
|
|
public function generate($encrypt, $signature, $timestamp, $nonce)
|
|
{
|
|
$format = "<xml>
|
|
<Encrypt><![CDATA[%s]]></Encrypt>
|
|
<MsgSignature><![CDATA[%s]]></MsgSignature>
|
|
<TimeStamp>%s</TimeStamp>
|
|
<Nonce><![CDATA[%s]]></Nonce>
|
|
</xml>";
|
|
return sprintf($format, $encrypt, $signature, $timestamp, $nonce);
|
|
}
|
|
}
|
|
?>
|