You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP提取字符串括号内的时间及正确使用trim函数?

提取字符串括号内时间的正确方法

嘿,我来帮你搞定这个问题~首先得说下,你现在用trim的思路不对哦,trim的作用是移除字符串首尾的指定字符集合,不是用来提取中间的子串,所以当前代码根本达不到你想要的效果。

下面给你两种简单靠谱的实现方式:

方法一:正则表达式(最简洁)

正则可以精准匹配括号内的内容,直接提取出你要的时间:

$string = "Updated by Carewina Almonte (04/02/2018 21:58:32)";
// 匹配括号内的所有内容
preg_match('/\((.*?)\)/', $string, $matches);
if (isset($matches[1])) {
    echo $matches[1]; // 输出结果:04/02/2018 21:58:32
}

这里的正则/\((.*?)\)/解释下:

  • \(:匹配左括号(因为括号是正则特殊字符,所以加转义符)
  • (.*?):非贪婪捕获括号内的所有内容,这部分就是我们要的时间
  • \):匹配右括号

方法二:字符串函数组合(不用正则)

如果不想用正则,也可以用strpos找到括号的位置,再用substr截取中间内容:

$string = "Updated by Carewina Almonte (04/02/2018 21:58:32)";
// 找到左括号的位置,加1跳过左括号
$startPos = strpos($string, '(') + 1;
// 找到右括号的位置
$endPos = strpos($string, ')');
// 截取从左括号后到右括号前的内容
$time = substr($string, $startPos, $endPos - $startPos);
echo $time; // 输出结果:04/02/2018 21:58:32

这两种方法都能完美提取出不带括号的时间,选你觉得顺手的用就行~

内容的提问来源于stack exchange,提问作者Virgil Joseph Cruz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:19:30