PHP获取磁力的hash值

今天写种子上传托管程序的时候想要获取磁力链接的hash值,百度了很多依然没办法,最后还是Google大法好。

例如磁力链接为:

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

我想要获取hash:

0eb69459a28b08400c5f05bad3e63235b9853021

其实使用正则就可以,无奈不会写正则,网络上的好多正则表达式都是错误的。

获取方式:

// 磁力链接
$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';

// 先将url解码
$link = urldecode($link); 

// 匹配  'btih:' 之后的值, 获取数组,赋值给$matchBtih
preg_match('/(?<=btih:)\w+/', $link, $matchBtih);

echo '$matchBtih[0]'; // 0eb69459a28b08400c5f05bad3e63235b9853021

这样就匹配出来了。

PHP获取磁力的hash值

本文转载自: https://stackoverflow.com/questions/23164368/split-magnet-link-with-php


 继续浏览关于 php 的文章

 本文最后更新于 2019/06/24 18:44:45,可能因经年累月而与现状有所差异

 引用转载请注明:icret > 教程 > PHP获取磁力的hash值

精选评论

  1. administrator

    为什么不更新最新文章呢?