如何使用 PHP 获取自定义参数值

How to get a custom parameter value using PHP

我的 PHP 页面有 URL:http://www.example.com/out?redirect=http%3A%2F%2Fwww.google.it/sample-test 我想要一个 PHP 函数来打印这个:Google.it

我只需要用大写字母打印域名即可。

目前我使用:

<?php
echo $_GET['redirect']; ?>

它得到 redirect 中包含的完整 URL 但我想要大写字母的域名。

您需要先解码 URL 以便您可以使用评论中提到的 parse_url。这是一个解决它的选项,其概念是 www。将永远被使用...

  1. 解码url (urldecode())
  2. 解析 url 以仅获取主机 (parse_url($url, PHP_URL_HOST))
  3. 删除 www。 (str_replace('www.','', $url))
  4. 大写字符串的首字母 (ucfirst())

一行: ucfirst(str_replace('www.', '', parse_url(urldecode($_GET['redirect']), PHP_URL_HOST)));

试试这个:

preg_match("/http:\/\/(?:.*?\.)?(.+?)\//", $_GET['redirect'], $matches);

echo ucfirst($matches[1]);

这是正则测试: https://regex101.com/r/qQ2dE4/58