[英]Read first half of file contents and echo and then the second half
我有一个文本文件,列出了一个轨道的名称,然后在列出艺术家的双倍空格后。 为了让我从Last.fm获取专辑封面,我必须在URL中拥有标题和艺术家,如http://ws.audioscrobbler.com/2.0/?method=track.getinfo&track=TRACK TITLE&artist=ARTIST
。 由于艺术家和曲目标题不在单独的文件中,有没有办法可以在双空格之前获得该部分并将其称为$ title和双空格后的部分并将其称为$ artist,所以我可以回应它进入URL?
这是我目前获取文件内容的方法:
<?php
$current = file_get_contents('RBDS%20Text.txt');
echo $current;
?>
谢谢!
编辑:
所以文本文件输出“曲目标题[双空间]艺术家”
对于Last.FM,我必须在URL track=TRACK TITLE&artist=ARTIST
使用explode
。
$current = file_get_contents("RBDS%20Text.txt");
$chunks = explode(" ", $current, 2);
$title = $chunks[0];
$artist = $chunks[1];
上面唯一的问题是如果标题包含双重空格,它可能会遇到问题。
如果我理解你,你想要这样的东西:
list($title, $track) = explode(' ', trim(file_get_contents('RBDS%20Text.txt')), 2);
<?php
// build $url here
$result = file_get_contents($url);
list($title, $artist) = explode(" ", $result);
您现在可以通过$title
和$artist
访问您的变量
首先,我们的数据......
[ghoti@pc ~]$ cat RBDS_Text.txt
My first song Crazy Bad Band
Thriller Michael Jackson
接下来,PHP脚本:
[ghoti@pc ~]$ cat rbds.php
#!/usr/local/bin/php
<?php
$lines = file("RBDS_Text.txt");
$fmt="http://ws.audioscrobbler.com/2.0/?method=track.getinfo&track=%s&artist=%s";
foreach ($lines as $line) {
$data=explode(" ",$line);
printf($fmt, urlencode($data[0]), urlencode($data[1]));
print "\n";
}
最后,脚本在行动:
[ghoti@pc ~]$ ./rbds.php
http://ws.audioscrobbler.com/2.0/?method=track.getinfo&track=My+first+song&artist=Crazy+Bad+Band%0A
http://ws.audioscrobbler.com/2.0/?method=track.getinfo&track=Thriller&artist=Michael+Jackson%0A
[ghoti@pc ~]$
如果要将这些URL用于某些内容,可以通过用$varname=sprintf(...)
替换printf()
行将它们分配给变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.