preg_match_all不返回预期值

时间:2015-08-18 07:33:58

标签: php preg-match-all wikipedia-api

下面的代码使用Wikipedia API来返回数据。我想输出一个包含Industry的字符串但是无法理解为什么preg_match_all不匹配并返回与行业相关的字符串 - 在这个UBS的例子中,我想看到" industry = [[Banking]], [[金融服务]]"回。使用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>

0 个答案:

没有答案