【问题标题】:How to extract specific data from JSON encoded string如何从 JSON 编码字符串中提取特定数据
【发布时间】:2021-09-15 16:14:26
【问题描述】:

我正在写一些代码,当我回显这段代码时

echo json_encode($_SERVER);

我得到这个输出

{
    "HTTP_CONTENT_TYPE":"application\/x-www-form-urlencoded",
    "HTTP_USER_AGENT":"WordPress\/5.7.2; https:\/\/dvsucb.local",
    "REQUEST_TIME_FLOAT":1625414926.336319,
    "REQUEST_TIME":1625414926
}

我想提取 HTTP_USER_AGENT 中的 URL,即:https://dvscucb.local

我只想提取 URL 而不是 WordPress 版本。这个怎么弄?

【问题讨论】:

  • 要获取网址吗?
  • @mfort,确切地说,只有 URL
  • JSON 与这些有什么关系? $_SERVER 数组包含您要解析的字符串 - 为什么首先要将其编码为 JSON?
  • ..或 wordpress 和服务器(这是关于服务器的问题,而不是 PHP 的 $_SERVER 标签)?

标签: php json wordpress server


【解决方案1】:

你不需要在这里使用json_encode()

您可以从$_SERVER 数组中访问HTTP_USER_AGENT 属性,然后使用正则表达式从字符串中提取URL。

这是一个相当简单的例子:

$userAgent = $_SERVER['HTTP_USER_AGENT'];

if (preg_match("/WordPress\/[\d]+.[\d]+.[\d]+;\s(.*)/", $userAgent, $matches)) {
    echo $matches[1];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多