Ich möchte die Zeichenkette durch Regex-Matching in PHP zu einem Dataset analysieren. Hier ist mein Code:preg_match_all gibt kein Ergebnis zurück.
$string = "?\t\t\t\t\t\t?\t\t\t\t\t\t\t\t\t\t\t\t<?xml version=\"1.0\" encoding=\"UTF-8\"?><documents><Resp><gatewayId>g10060<\/gatewayId><accountId>310198232<\/accountId><orderNo>0970980541000510490500480<\/orderNo><tId><\/tId><tAmt>20<\/tAmt><result>1<\/result><respCode>21<\/respCode><signMD5>7ecd1eb9b870aaba3bfa45892095194e<\/signMD5><\/Resp><\/documents>";
preg_match_all('/<(.*?)>(.*?)<\\/(.*?)>/', $string, $arr);
echo json_encode($arr);
aber es gibt mir nur [[],[],[],[]]
, als leere Arrays. Ich habe versucht, die Regex-Ausdruck auf https://regex101.com/, und es zeigt mir das korrekte Ergebnis, aber es funktioniert nicht auf meinem Server.
Was ich will, ist:
[ "gatewayId" => "g10060",
"accountId" => "310198232",
"orderNo" => "0970980541000510490500480",
"tId" => "",
"tAmt" => "20",
"result" => "1",
"respCode" => "21",
"signMD5" => "7ecd1eb9b870aaba3bfa45892095194e" ]
Wie kann ich dieses Problem beheben?
nicht reguläre Ausdrücke verwenden: http://stackoverflow.com/ Fragen/3577641/how-do-you-parse-und-Prozess-html-xml-in-php – nogad
sie geben mir ein seltsames Format ähnlich wie Xml, aber ich kann nicht einfach XML-Parser – user3711105
verwenden, dass ** IS ** xml – nogad