如何从url中删除问号后的内容。preg_match还是preg_place?

2022-03-22 00:00:00 regex php preg-replace preg-match

我正在研究一些函数,以便使用简单的html dom从url抓取少量数据。

但是其中一个数据是图像,图像后面有问号和一些更多信息。

因此,url的示例如下所示。

http://somesite.com/uploaded/images/8.jpg?m=eSuQKgaaaa&mh=t0i7nVhjZleTJ5Ih

所以问号后面的内容是某种代码,可以将图像调整到较小的大小。

请给我这个

http://somesite.com/uploaded/images/8.jpg

图像的分辨率会更高,这正是我需要的。

我知道有一个类似preg_match的函数,但我从来不理解其中的表达式。

我是否可以以某种方式删除问号及其后面的所有内容?


解决方案

更简单:使用explode()

list($uri,) = explode('?', 'http://somesite.com/uploaded/images/8.jpg?m=eSuQKgaaaa&mh=t0i7nVhjZleTJ5Ih');

更新

或更简单,但使用strtok和trim:

$uri = trim(strtok('http://somesite.com/uploaded/images/8.jpg?m=eSuQKgaaaa&mh=t0i7nVhjZleTJ5Ih', '?'));

通常您会使用parse_url()来处理URL,但在这种情况下,使用explode()更容易使用,并且可以满足您的需要。

相关文章