私はgugで受け取ったレスポンスをpreg_matchしようとしています。 問題は、コンテンツを私のに入力したときです。everything_in_tags関数peg_match関数は結果を返しません。 everything_in_tags機能に手動でpreg_matchとguzzleレスポンスの問題
するpreg_match関数は、私がときのvar_dump(の$ this - >ボディ)の内容をコピー&ペーストなどaspected作品。
キャスト後、$ this-> bodyは文字列オブジェクトです。
だから、なぜそれがそのように振る舞い、誰かがとても親切で、私がその問題を解決する方法を教えてくれるのだろうかと疑問に思う。
Thxです。
コード:文字列として
public function __construct() {
$this->dataRaw = (object) [];
$this->client = new GuzzleHttp\Client();
$this->res = $this->client->request('GET', 'https://www- genesis.destatis.de/genesisWS/web/ExportService_2010?method=TabellenExport&kennung=kennung&passwort=password&namen=13321-0001&bereich=Alle&format=html&strukturinformation=false&komprimieren=true&transponieren=true&startjahr=2016&endjahr=2017&zeitscheiben=®ionalmerkmal=®ionalschluessel=&sachmerkmal=FAMSTD&sachschluessel=VERH&sachmerkmal2=&sachschluessel2=&sachmerkmal3=&sachschluessel3=&stand=&auftrag=false&sprache=de');
$this->body = (string) $this->res->getBody()->getContents();
$this->dom = new Dom;
var_dump($this->body);
$this->table = $this->everything_in_tags($this->body, 'table', false);
$this->dom->loadStr($this->table , []);
$this->html = $this->dom->outerHtml;
}
function everything_in_tags($string, $tagname, $inner) {
$pattern = "#<\s*?$tagname\b[^>]*>(.*?)</$tagname\b[^>]*>#s";
preg_match($pattern, $string, $matches);
return $matches[$inner ? 1 : 0];
}
がつがつ食う-応答:
200text/xml;charset=ISO-8859-11Bei mindestens einem Objekt sind Fehler oder Warnungen aufgetreten.Information13321-000122Mindestens ein Parameter enthält ungültige Werte. Er wurde angepasst, um den Service starten zu können.: zeitscheibenWarnungAktualisierte
Daten28.09.201713321-000109:21:273888 3114 9999674 falseKNZPT13false falseERW0024falseErwerbstätige3Wfalsefalse falseERW1235falseVeränderungsrate zum Vormonat3Wfalsefalse falseERW1246falseVeränderungsrate zum Vorjahresmonat3WfalsefalseInlands-/ Inländerkonzept0SKfalsefalseTemporär
false133211false falseDINSG2falseDeutschland insgesamt1RKfalsefalseErwerbstätigenrechnung in der VGR (national)0Efalsefalse8925 falseJAHR8false falseMONAT9falseMonate8ZKfalsefalseJahr0ZIfalsefalse falseWERTE17falseWerte0SKfalsefalse
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>GENESIS-Tabelle: Temporär</title>
</head>
<body>
<table border="1" summary="Die Tabelle Temporär enthält aktuelle Daten zur Statistik - Erwerbstätigenrechnung in der VGR (national) - mit Stand vom 28.09.2017 ">
<caption>Erwerbstätige (inkl. Veränderungsraten): Deutschland,<br />Monate, Inlands-/Inländerkonzept, original/saisonbereinigte<br />Werte</caption>
<thead>
<tr>
<th id="Z4S1" colspan="8" align="left">Erwerbstätigenrechnung in der VGR (national)<br />Deutschland</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<p></p>
<div class="copyright">© Statistisches Bundesamt (Destatis), 2017  | Stand: 28.09.2017/09:21:27</div>
</body>
</html>Alle13321-0001false2017htmlfalseFAMSTDdetruefalse0