我在PHP数组中有各种值,如下所示:
$values = ["news_24", "news_81", "blog_56", "member_55", "news_27"];
下划线(news,blog,member)之前的第一部分是动态的,所以我想在特定部分(news)中获得所有匹配项,然后是数字。
类似下面的东西:
$section = "news";
$matches = preg_match('$section/[_])GETNUMBER/', $values);
解决方案应该返回24、81和27,因为只有这些数字出现在news
和下划线之后。
4条答案
按热度按时间up9lanfz1#
rsaldnfx2#
祝你好运!:P
6gpjuf903#
注:我添加了两个案例:
内爆可能不是超级高效,但它的代码更少。区别在于匹配的& regex。
此解决方案仅输出
而其他人也输出2012和马克的解决方案也99。
cwdobuhd4#
PHP有一个原生函数来完成这个任务:
preg_filter()
。它尝试对数组中的所有元素进行替换,并且只返回成功发生变化的元素。匹配可变换行的部分单词,然后匹配原义下划线,然后捕获尾随数字。用捕获的数字替换整个字符串。
代码:(Demo)
输入:
输出量: