首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP - preg_match -检查字符串是否包含介于1950和2010之间的年份

PHP - preg_match -检查字符串是否包含介于1950和2010之间的年份
EN

Stack Overflow用户
提问于 2010-10-29 03:28:17
回答 3查看 4.9K关注 0票数 1

如果字符串包含介于1950和2010之间的年份,我如何与preg_match进行检查?

示例:

$string =“我出生于1986年。”;

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-29 03:37:25

如果字符串的格式已经可以被getdate()使用,那么其他答案将是最好的解决方案。

如果字符串只是一些随机文本,其中可能包含日期,也可能不包含日期,则需要使用正则表达式来查找这些数字。

/(19[5-9][0-9]|20(0[0-9]|10))/

当然,您不能保证以这种方式匹配的数字实际上是一年。它可能是2005磅的钢铁或1976英里的高速公路。

票数 4
EN

Stack Overflow用户

发布于 2010-10-29 03:29:40

假设你有一个时间戳:

代码语言:javascript
运行
复制
$date = getdate($timestamp);
if ($date['year'] >= 1950 && $date['year'] <= 2010)
  return 'good';
票数 5
EN

Stack Overflow用户

发布于 2010-10-29 03:32:37

代码语言:javascript
运行
复制
$date = getdate( $timestamp );
if( (int)$date['year'] >= 1950 && (int)$date['year'] <= date('Y') ) {
   return 'good';
}

:P

代码语言:javascript
运行
复制
if( preg_match( '/^(19[5-9]{1}[0-9]{1}|20(0[0-9]{1}|10))$/', $i ) ) {}
// tested - works. 1950-2010
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4046497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档