加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何使用正则表达式从字符串中提取值.(PHP)

发布时间:2020-12-14 06:04:40 所属栏目:百科 来源:网络整理
导读:我有这样的字符串 "access_token=103782364732640461|2.ZmElnDTiZlkgXbT8e34Jrw__.3600.1281891600-10000186237005083013|yD4raWxWkDe3DLPJZIRox4H6Q_k.expires=1281891600secret=YF5OL_fUXItLJ3dKQpQf5w__session_key=2.ZmElnDTiZlkgXbT8e34Jrw__.3600.128
我有这样的字符串

"access_token=103782364732640461|2.ZmElnDTiZlkgXbT8e34Jrw__.3600.1281891600-10000186237005083013|yD4raWxWkDe3DLPJZIRox4H6Q_k.&expires=1281891600&secret=YF5OL_fUXItLJ3dKQpQf5w__&session_key=2.ZmElnDTiZlkgXbT8e34Jrw__.3600.1281891600-10000186237005083013&sig=a2b3fdac30d53a7cca34de924dff8440&uid=10000186237005083013"

我想提取UID.

解决方法

没有更多信息,很难给出最好的答案.你可以尝试这个正则表达式:

'/&uid=([0-9]+)/'

示例代码:

$s = '"access_token=103782364732640461|2.ZmElnDTiZlkgXbT8e34Jrw__.3600.1281891600-10000186237005083013|yD4raWxWkDe3DLPJZIRox4H6Q_k.&expires=1281891600&secret=YF5OL_fUXItLJ3dKQpQf5w__&session_key=2.ZmElnDTiZlkgXbT8e34Jrw__.3600.1281891600-10000186237005083013&sig=a2b3fdac30d53a7cca34de924dff8440&uid=10000186237005083013"';
$matches = array();
$s = preg_match('/&uid=([0-9]+)/',$s,$matches);
print_r($matches[1]);

结果:

10000186237005083013

但我注意到您的输入字符串看起来像URL的一部分.如果是这种情况,您可能希望使用parse_str.这将正确处理正则表达式无法正确处理的许多特殊情况.

$arr = array();
parse_str(trim($s,'"'),$arr);
print_r($arr['uid']);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读