串联变量后,字符串(url)中的不可见空格

时间:2018-05-23 19:25:49

标签: php

我有一个URL,我想动态更改参数。但是,当我将变量附加到URL时,我在网址中找到了一个不可见的空格。

这是连接变量

后的URL

https://query2.finance.yahoo.com/v10/finance/quoteSummary/的 513375.BO 格式化=真安培;屑= d6UeK6BIz2v&安培;朗= EN-IN&安培;区域= IN&安培;模块= summaryProfile%2CfinancialData%2CrecommendationTrend%2CupgradeDowngradeHistory%2Cearnings%2CdefaultKeyStatistics%2CcalendarEvents%2CesgScores&安培; corsDomain = in.finance.yahoo.com

在网址中 513375.BO 之前有一个隐藏空格会导致错误。我有几种方法,比如preg_replace(),utf_encode(),trim()

$string = 'https://query2.finance.yahoo.com/v10/finance/quoteSummary/'.trim($ex_token).'.BO?formatted=true&crumb=d6UeK6BIz2v&lang=en-IN&region=IN&modules=summaryProfile%2CfinancialData%2CrecommendationTrend%2CupgradeDowngradeHistory%2Cearnings%2CdefaultKeyStatistics%2CcalendarEvents%2CesgScores&corsDomain=in.finance.yahoo.com';
$url = htmlentities($string, null, 'utf-8');
$url = str_replace(" ", "", $url);
$url = html_entity_decode($url);

1 个答案:

答案 0 :(得分:0)

隐藏空间位于$ex_token或脚本文件中的字符串中。它不是通过串联trim()htmlentities()str_replace()html_entity_decode()插入的。

尝试使用var_dump()strlen()检查字符串长度,看看它是否与您认为的一样长。