我有一个URL,我想动态更改参数。但是,当我将变量附加到URL时,我在网址中找到了一个不可见的空格。
这是连接变量
后的URLhttps://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®ion=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);
答案 0 :(得分:0)
隐藏空间位于$ex_token
或脚本文件中的字符串中。它不是通过串联trim()
,htmlentities()
,str_replace()
或html_entity_decode()
插入的。
尝试使用var_dump()
或strlen()
检查字符串长度,看看它是否与您认为的一样长。