php 获取外部url最后一个“/”后的动态数字

xbp102n0  于 2023-02-18  发布在  PHP
关注(0)|答案(2)|浏览(171)

这个问题是migrated从WordPress开发堆栈交换,因为它可以回答堆栈溢出. Migrated 6小时前。
我想抓取一个外部网址的最后一个动态数字。我不擅长php,有人能帮忙吗?
https://data.aboss.com/v1/agency/1001/101010/events/xxxxxx

$url = https://data.aboss.com/v1/agency/1001/101010/events/;
$value = substr($url, strrpos($url, '/') + 1);
value="<?php echo $value; ?>"

结果应为xxxxxx。

j2qf4p5b

j2qf4p5b1#

要从url中获取最后一部分,可以使用PHP中的parse_url()pathinfo()函数。

<?php
$url = "https://data.aboss.com/v1/agency/1001/101010/events/xxxxxx";
$path = parse_url($url, PHP_URL_PATH);
$value = pathinfo($path, PATHINFO_FILENAME);

echo $value;
8yparm6h

8yparm6h2#

有很多方法可以实现这一点,最简单的一行程序是使用explode:

echo explode("/events/", $url)[1];

或者,如果在“events/xxxxxx”之后可能出现某些内容:

$url = "https://data.aboss.com/v1/agency/1001/101010/events/1524447/other/123456";
echo explode("/", explode("/events/", $url)[1])[0]; // 1524447

也可以将正则表达式与preg_match一起使用:

$url = "https://data.aboss.com/v1/agency/1001/101010/events/1524447/other/123456";
$matches = [];
preg_match("~/events/(\d+)~", $url, $matches); // captures digits after "/events/"
echo($matches[1]); // 1524447

Sandbox

相关问题