PHP如何隐藏url的一部分

PHP如何隐藏url的一部分,php,Php,我正在做一个项目,需要在php文件的输出结果中隐藏url的一部分,我该怎么做 这段代码 if (!$foundPlaylist){ $playList=array( ['publishedAt'], 'thumbId' => $entry[$i]['snippet']['thumbnails']['medium']['url'],

我正在做一个项目,需要在php文件的输出结果中隐藏url的一部分,我该怎么做

这段代码

    if (!$foundPlaylist){
                $playList=array(                
['publishedAt'], 
                            'thumbId'     => $entry[$i]['snippet']['thumbnails']['medium']['url'],
                            'videosCount' => $videoCount,
                            'videos'      => getVideos($entry[$i]['snippet']['resourceId']['videoId']) 
                        );
                array_push($MainFeed,$playList);    
            }
结果

{ "feed":[{"thumbId":"https://i.ytimg.com/vi/SEchOz24pd8/mqdefault.jpg","videosCount":20,"videoid":"SEchOz24pd8",}],"0":
我需要隐藏
https://i.ytimg.com/vi/
/mqdefault.jpg
来自thumbId。

只需使用

substr($entry[$i]['snippet']['thumbnails']['medium']['url'], 23, 11);
仅选择位置23和(23+11)之间的URL部分=34

当然,只有当您知道所有用户的字符串长度都将完全相同时,这才有效。如果你知道字符串长度不同,Anthony的答案可能会帮助你解决问题。

只需使用

substr($entry[$i]['snippet']['thumbnails']['medium']['url'], 23, 11);
仅选择位置23和(23+11)之间的URL部分=34


当然,只有当您知道所有用户的字符串长度都将完全相同时,这才有效。如果您知道字符串长度会有所不同,Anthony的回答可能会帮助您解决问题。

我认为以下内容最具可读性:

$path = parse_url(
    $entry[$i]['snippet']['thumbnails']['medium']['url'],
    PHP_URL_PATH
);
list($user, $code, $image) = explode('/', $path);

echo $code;

我觉得这是最具可读性的:

$path = parse_url(
    $entry[$i]['snippet']['thumbnails']['medium']['url'],
    PHP_URL_PATH
);
list($user, $code, $image) = explode('/', $path);

echo $code;

但字符串长度可能因不同用户而异。需要更加通用。不太具体。当我应用于'echo'{“feed”:.json_encode($MainFeed)。'}';'在我的测试中,
json\u encode
工作正常。
$MainFeed
数组中的其他地方可能有问题,但字符串长度可能因不同用户而异。需要更加通用。不太具体。当我应用于'echo'{“feed”:.json_encode($MainFeed)。'}';'在我的测试中,
json\u encode
工作正常。也许
$MainFeed
数组中的其他地方有问题?我希望我的答案能有所帮助。它比计算字符和使用
substr()
/
mb_substr()
更通用。我希望我的答案能有所帮助。它比计数字符和使用
substr()
/
mb_substr()
更通用。