在php中破坏字符串的一部分

时间:2018-06-29 07:28:04

标签: php

Data: https://www.ccc.com/admin/index.php?route=channel/cok&token=e49fb985ce93c7eb8adfc01cdf91617b?shop_id=25881721

在从URL返回的数据上方,如何将其分解并存储到以下示例中的变量中:

$raw = https://www.ccc.com/admin/index.php?route=channel/cok&token=e49fb985ce93c7eb8adfc01cdf91617b

$value = 25881721

5 个答案:

答案 0 :(得分:1)

首先,我认为您的网址格式不正确:

https://www.ccc.com/admin/index.php?route=channel/cok&token=e49fb985ce93c7eb8adfc01cdf91617b?shop_id=25881721

您不应有两个问号。但是,假设第二个问号是一种类型,有一个用于解析URL的函数:parse_url

例如:

$url = '//www.example.com/path?googleguy=googley';
var_dump(parse_url($url));

输出:

array(3) {
  ["host"]=>
  string(15) "www.example.com"
  ["path"]=>
  string(5) "/path"
  ["query"]=>
  string(17) "googleguy=googley"
}

答案 1 :(得分:1)

您可以使用PHP explode()函数。

尝试以下代码

$raw = "https://www.ccc.com/admin/index.php?route=channel/cok&token=e49fb985ce93c7eb8adfc01cdf91617b?shop_id=25881721";

$result = explode('?shop_id=',$raw);

echo $url= $result[0]; //https://www.ccc.com/admin/index.php?route=channel/cok&token=e49fb985ce93c7eb8adfc01cdf91617b

echo $parameter= $result[1];  //25881721 

答案 2 :(得分:1)

请检查是否有此帮助。

<?php
$a= " https://www.ccc.com/admin/index.php?route=channel/cok&token=e49fb985ce93c7eb8adfc01cdf91617b?shop_id=25881721";
$b=explode("?shop_id=",$a);
$raw=$b[0];
$value=$b[1];
print_r('raw='.$raw);
echo "<br>";
print_r('value='.$value);

?>

答案 3 :(得分:1)

使用parse_str()parse_url()预定义的php函数进行尝试。

$formattedUrl = parse_url($url);
parse_str($formattedUrl['query'], $query);
echo $query['shop_id'];

答案 4 :(得分:1)

您可以使用爆炸功能来做到这一点

$data = "Data: https://www.ccc.com/admin/index.php?route=channel/cok&token=e49fb985ce93c7eb8adfc01cdf91617b?shop_id=25881721";
$raw = explode("Data: ", $data)[1];
echo "Raw: $raw";
$value = explode("?shop_id=", $data)[1];
echo " Value: $value";