Does anyone here know of a magnet-URI-parser for PHP? To validate it, or maybe to extract some information from it?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
In case you're looking for something like this:
Magnet URI: magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C (valid)
Display Name .... (dn):
eXact Length .... (xl):
eXact Topic ..... (xt): urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C
Acceptable Source (as):
eXact Source .... (xs):
Keyword Topic ... (kt):
Manifest Topic .. (mt):
address TRacker . (tr):
take a look at the Demo.
Can't say if this matches your need, your question was sort of unspecific. So leave a comment.
回答2:
If you only need the fields, here is a quick and dirty one liner:
$link = 'magnet:?xt=urn:btih:0eb69459a28b08400c5f05bad3e63235b9853021&dn=Splinter.Cell.Blacklist-RELOADED&tr=udp%3A%2F%2Ftracker.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80&tr=udp%3A%2F%2Fopen.demonii.com%3A1337';
parse_str(str_replace('tr=','tr[]=',parse_url($link,PHP_URL_QUERY)),$query);
print_r($query);
Should yield:
Array
(
[xt] => urn:btih:0eb69459a28b08400c5f05bad3e63235b9853021
[dn] => Splinter.Cell.Blacklist-RELOADED
[tr] => Array
(
[0] => udp://tracker.com:80
[1] => udp://tracker.publicbt.com:80
[2] => udp://tracker.istole.it:6969
[3] => udp://tracker.ccc.de:80
[4] => udp://open.demonii.com:1337
)
)
回答3:
<?php
include_once "alfa.hash2mui.class.php";
$h2m=new Hash2mui();
echo $h2m->grab_mui("11A2AC68A11634E980F265CB1433C599D017A759");
?>
source https://github.com/alfredfrancis/Info-Hash-To-Magnet-URI/blob/master/example.php