Код ниже использует API Википедии для возврата данных. Я хотел бы вывести строку, содержащую отрасль, однако не могу понять, почему 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>
Задача ещё не решена.
Других решений пока нет …