PHP:正则表达式替代 array_intersect
Posted
技术标签:
【中文标题】PHP:正则表达式替代 array_intersect【英文标题】:PHP: Regex alternative to array_intersect 【发布时间】:2014-04-08 02:54:50 【问题描述】:我正在使用一种方法,该方法采用一组单词并删除任何与以下内容不匹配的内容:
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
)
【问题讨论】:
【参考方案1】:您可以使用 array_filter 来实现:
return is_array( $var ) ? array_filter($var, function($ele)
return preg_match('/li(?:-[a-z_-]+)?/', $ele);
) : '';
【讨论】:
以上是关于PHP:正则表达式替代 array_intersect的主要内容,如果未能解决你的问题,请参考以下文章