如何在PHP中从用户提交的URL中提取特定区域

如何在PHP中从用户提交的URL中提取特定区域,php,Php,这可能很容易做到,但我尝试只提取用户将输入到字段中的url的突出显示区域。它将始终位于末尾/和? 注意: 为了澄清,这只是一个粘贴的简单文本输入字段。我不需要修改页面url 用户字段URL <?php $url = 'https://example.com/test/5tPa414MNG1cNfGjJs1Jr?si=tKTd7qJQ1Sda1ZUWoA5Q'; ?> 您可以尝试以下方法: preg_match("/(?<=\/)(\w+)(?=\?)/", $url, $ma

这可能很容易做到,但我尝试只提取用户将输入到字段中的url的突出显示区域。它将始终位于末尾
/

注意:

为了澄清,这只是一个粘贴的简单文本输入字段。我不需要修改页面url

用户字段URL

<?php $url = 'https://example.com/test/5tPa414MNG1cNfGjJs1Jr?si=tKTd7qJQ1Sda1ZUWoA5Q'; ?>
您可以尝试以下方法:

preg_match("/(?<=\/)(\w+)(?=\?)/", $url, $match);
echo $match[0];
preg\u match(“/(?您可以尝试以下方法:

preg_match("/(?<=\/)(\w+)(?=\?)/", $url, $match);
echo $match[0];

preg_match(“/(?你可以像另一个答案中所说的那样使用正则表达式,但是它们消耗性能,在这种情况下不是强制性的。
在这里,我在“/”字符上拆分URL,并取最后一部分,然后从最后一部分的开头选择一个子字符串到“?”

<?php
$url = 'https://example.com/test/5tPa414MNG1cNfGjJs1Jr?si=tKTd7qJQ1Sda1ZUWoA5Q';
//Explode the URL on the /
$urlParts = explode('/', $url);
//Get the last part
$lastItem = end($urlParts);
$extracted = substr($lastItem, 0, strpos($lastItem, '?'));

您可以像另一个答案中所说的那样使用正则表达式,但它们消耗性能,在本例中不是强制性的。
在这里,我在“/”字符上拆分URL,并取最后一部分,然后从最后一部分的开头选择一个子字符串到“?”

<?php
$url = 'https://example.com/test/5tPa414MNG1cNfGjJs1Jr?si=tKTd7qJQ1Sda1ZUWoA5Q';
//Explode the URL on the /
$urlParts = explode('/', $url);
//Get the last part
$lastItem = end($urlParts);
$extracted = substr($lastItem, 0, strpos($lastItem, '?'));

read about.htaccess并查看此链接:Hi@Matt,更新了我的问题。我不需要更新页面URL,这只是一个用户将URL粘贴到并保存在数据库中的字段。获取PHP中URL的最后一部分:read about.htaccess并查看此链接:Hi@Matt,更新了我的问题。我不需要更新页面URL,这是只是一个用户将URL粘贴到其中并保存在数据库中的字段。在PHP中获取URL的最后一部分:太好了,我将使用此方法。谢谢。我已经添加了一些关于我在代码中所做工作的说明。太好了,我将使用此方法。谢谢。我已经添加了一些关于我在代码中所做工作的说明。