Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从url获取字符后的字符串_Php - Fatal编程技术网

Php 从url获取字符后的字符串

Php 从url获取字符后的字符串,php,Php,从这样的URL只获取B005PB3YHU部分的最佳方式是什么 : 使用解析url和解析字符串: 使用parse_url和parse_字符串: 基于@jimp的答案,您需要首先进行urldecode以将%更改为PHP理解的内容: $url = 'http://www.amazon.com/Designer-Bow-Ties-Y306/dp/B005PB3YHU%3FSubscriptionId%3DAKIAIM6KP3HMBKZXA2EA%26tag%3Dmenbowtie-20%26link

从这样的URL只获取B005PB3YHU部分的最佳方式是什么 : 使用解析url和解析字符串:

使用parse_url和parse_字符串:


基于@jimp的答案,您需要首先进行urldecode以将%更改为PHP理解的内容:

$url = 'http://www.amazon.com/Designer-Bow-Ties-Y306/dp/B005PB3YHU%3FSubscriptionId%3DAKIAIM6KP3HMBKZXA2EA%26tag%3Dmenbowtie-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB005PB3YHU';
# urldecode will remove the %## encoding, and make the url look like:  
# http://www.amazon.com/Designer-Bow-Ties-Y306/dp/B005PB3YHU?SubscriptionId=AKIAIM6KP3HMBKZXA2EA&tag=menbowtie-20&linkCode=xm2&camp=2025&creative=165953&creativeASIN=B005PB3YHUB005PB3YHU
$query = parse_url(urldecode($url), PHP_URL_QUERY);
parse_str($query, $parts);
echo $parts['creativeASIN'];

基于@jimp的答案,您需要首先进行urldecode以将%更改为PHP理解的内容:

$url = 'http://www.amazon.com/Designer-Bow-Ties-Y306/dp/B005PB3YHU%3FSubscriptionId%3DAKIAIM6KP3HMBKZXA2EA%26tag%3Dmenbowtie-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3DB005PB3YHU';
# urldecode will remove the %## encoding, and make the url look like:  
# http://www.amazon.com/Designer-Bow-Ties-Y306/dp/B005PB3YHU?SubscriptionId=AKIAIM6KP3HMBKZXA2EA&tag=menbowtie-20&linkCode=xm2&camp=2025&creative=165953&creativeASIN=B005PB3YHUB005PB3YHU
$query = parse_url(urldecode($url), PHP_URL_QUERY);
parse_str($query, $parts);
echo $parts['creativeASIN'];

它实际上应该是B005…,没有前面的“D”,因为它是%3D符号的一部分。是的,你在这个问题上是正确的,我为这个错误感到抱歉。它实际上应该是B005…,没有前面的“D”,因为它是%3D符号的一部分。是的,你在这个问题上是正确的,我为这个错误感到抱歉。我假设他的脚本中的URL会在这一步之前准备好。你的观点是正确的+1I实际上只是添加了parse_url函数,而该函数不在原始答案中,然后在测试时意识到它不起作用。我不是故意抄袭你的答案@ZakiLaraba-如果答案对您有效,请单击复选框接受answer@ernie我眨了眨眼睛,意识到我漏掉了。我保存了我的编辑,也看到了你的答案。我指出了你关于urldecode的答案,这样我们就不会有完全相同的答案了,哈哈。谢谢厄尼和吉姆普鲁。我假设他的脚本中的URL会在这一步之前准备好。你的观点是正确的+1I实际上只是添加了parse_url函数,而该函数不在原始答案中,然后在测试时意识到它不起作用。我不是故意抄袭你的答案@ZakiLaraba-如果答案对您有效,请单击复选框接受answer@ernie我眨了眨眼睛,意识到我漏掉了。我保存了我的编辑,也看到了你的答案。我指出了你关于urldecode的答案,这样我们就不会有完全相同的答案了,哈哈。谢谢厄尼和我jimp@zaki-如果您的脚本尚未正确解码url,请检查ernie的答案。@zaki laraba如果您的脚本尚未正确解码url,请检查ernie的答案。