0

我正在使用一种方法,该方法采用一组单词并删除任何与以下内容不匹配的内容:

return is_array( $var ) ? array_intersect( $var,
    array(
        'current_page_item',
        'current-menu-item',
        'current_page_parent',
        'current_page_ancestor',
        'current-menu-ancestor',
        'first',
        'last',
        'vertical',
        'horizontal'
    )
) : '';

我该如何修改它以便我可以包含li(?:-[a-z_-]+)??(例如:li, li-align_left, li-magnify

4

1 回答 1

3

您可以使用array_filter来实现这一点:

return is_array( $var ) ? array_filter($var, function($ele) {
  return preg_match('/li(?:-[a-z_-]+)?/', $ele);
}) : '';
于 2014-04-08T03:02:21.557 回答