2014-04-08 4 views
0

정규식 대안는 array_intersect하려면 다음과 일치하지 않습니다PHP : 나는 단어의 배열을하고 제거하는 방법을 사용하고

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) 당신이 달성하기 위해 array_filter를 사용할 수

답변

3

:

return is_array($var) ? array_filter($var, function($ele) { 
    return preg_match('/li(?:-[a-z_-]+)?/', $ele); 
}) : '';