В приведенном ниже коде используется API Wikipedia для возврата данных. Я хотел бы выводить строку, содержащую Промышленность, но не могу понять, почему preg_match_all не соответствует и не возвращает строку, относящуюся к отрасли – в этом примере UBS я бы хотел увидеть «industry = [[Banking]], [[Financial услуги]] ". Эта строка может быть видна при использовании print_r для вывода данных.
Я уверен, что я недопонимаю или пропущу что-то простое. Пожалуйста помогите.
<html> <body> <form method="post"> Search: <input type="text" name="q" value="UBS"/> <input type="submit" value="Submit"> </form> <?php if (isset($_POST['q'])) { $search = $_POST['q']; $search = ucwords($search); $search = str_replace(' ', '_', $search); $url_2 = "http://en.wikipedia.org/w/api.php? action=query&prop=revisions&rvprop=content& format=json&titles=$search&rvsection=0&continue="; $res_2 = file_get_contents($url_2); $data_2 = json_decode($res_2); ?> <?php foreach ($data_2->query->pages as $r): ?> <?php foreach($r->revisions[0] as $a); print_r($a); if (preg_match_all('/|industry += (.*)/i', $a, $result)) { $industry = trim($result[0][0]); echo $industry; } ?> <?php endforeach; ?> <?php } ?> </body> </html>