0

我正在编写这个快速脚本来从网页源中提取聊天室名称。我正在使用 fopen() 和 fgets() 获取数据,并且一切正常。

我的正则表达式是/#[a-zA-z]+/,这似乎确实有效。但是我无法preg_match_all()返回简明的数据列表。

preg_match_all("/#[a-zA-z]+/", $contents, $foo, PREG_SET_ORDER);
foreach($foo as $item) print $item;

返回“ArrayArrayArrayArrayArrayArrayArrayArray...”。

print_r ($item);

返回一些东西( [0] => #channel1 ) Array ( [0] => #channe2 ) Array ( [0] => #channel3 )...

我不确定如何正确格式化,有什么快速帮助吗?

4

2 回答 2

1
$contents = '#channel1 #channel2 #channel3';

preg_match_all("/(#[a-zA-z0-9]+)/", $contents, $foo, PREG_SET_ORDER);
var_dump($foo);
echo '<hr />';

foreach($foo as $item)
   print $item[1].'<br />';
于 2010-06-28T12:03:56.973 回答
0

走开又回来,很清楚发生了什么。$foo 数组中所需的值被包装在另一个数组中。因此,我只是简单地foreach()用另一条foreach()语句包装了我的语句:

foreach($foo as $item) {
   foreach($item as $bar) {
     print $bar . "<br />";
   }
}

工作顺利。

于 2010-06-28T13:06:51.770 回答