【发布时间】:2015-10-14 15:45:45
【问题描述】:
例子:
$array = array('alpha beta','beta gamma','delta phi', '#alpha phi', 'beta phi');
$searchword = 'alpha';
$results = array_filter($array, function($var) use ($searchword) { return preg_match("/\b$searchword\b/i", $var); });
print_r($results);
Array ( [0] => alpha beta [3] => #alpha phi )
我只想找到包含#alpha 的元素,而不是alpha。
我想要的结果是Array ( [3] => #alpha phi )。
但是,这不起作用:
$array = array('alpha beta','beta gamma','delta phi', '#alpha phi', 'beta phi');
$searchword = '#alpha';
$results = array_filter($array, function($var) use ($searchword) { return preg_match("/\b$searchword\b/i", $var); });
print_r($results);
Array ( )
我也尝试过$searchword = preg_quote('#alpha');,但这也不起作用。我对正则表达式不够熟悉,无法弄清楚这一点——一定有一些我错过的正则表达式规则?
注意:我不想在数组中找到所有主题标签关键字。我想搜索特定的主题标签关键字。
学分:我使用了这里的答案之一: Search for PHP array element containing string
【问题讨论】: