php截取字符串中指定两个字符中间的部分

本文分享了两种从复杂淘宝商品链接中提取商品ID的有效方法。方法一使用PHP的substr和strrchr函数组合,方法二利用mb_strpos和ehcomb_substr进行精准定位。这两种方法均经过实测验证,适用于处理包含大量参数的链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法1:

$str = "https://a.m.taobao.com/i592404572191.htm?price=26.9-89&sourceType=item&detailSharePosition=interactBar&sourceType=item&suid=196360d0-e48f-41e1-b265-3e3024c6672e&shareUniqueId=2016960869&ut_sk=1.WpFnOuc%2BOYMDACuqCza43AYq_21646297_1595498155982.TaoPassword-WeiXin.1&un=379afb76b45f9891d707d2abce2ca380&share_crt_v=1&spm=a2159r.13376460.0.0&sp_tk=ZVJJeTFBUHNuNGg=&bxsign=tcd1595568829738e66ee1e06b69c9bfc5c8a02d1393c408";

$str = substr($str,0,strpos($str, '.htm'));//截取 .htm 前面的内容
$str = trim(strrchr($str, 'com/i'),'com/i');//截取 com/i 后面的内容

结果:592404572191

方法2:

$str = "https://a.m.taobao.com/i592404572191.htm?price=26.9-89&sourceType=item&detailSharePosition=interactBar&sourceType=item&suid=196360d0-e48f-41e1-b265-3e3024c6672e&shareUniqueId=2016960869&ut_sk=1.WpFnOuc%2BOYMDACuqCza43AYq_21646297_1595498155982.TaoPassword-WeiXin.1&un=379afb76b45f9891d707d2abce2ca380&share_crt_v=1&spm=a2159r.13376460.0.0&sp_tk=ZVJJeTFBUHNuNGg=&bxsign=tcd1595568829738e66ee1e06b69c9bfc5c8a02d1393c408";

$b = mb_strpos($str,'com/i') + mb_strlen('com/i');
$e = mb_strpos($str,'.htm') - $b;
ehco mb_substr($str,$b,$e);

结果:592404572191

均亲测!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值