在这里输入代码 我试图从链接中获取ID:
www.imdb.com/title/tt5807628/ - > tt5807628
我在javascript中的代码:
var str = "www.imdb.com/title/tt5807628/";
var n = str.search("e/tt");
var res = str.substring(n+2, n+30);
var ukos = res.search("/");
var last = res.substring(0, ukos);
我想在PHP中获得相同的效果,怎么做?
答案 0 :(得分:1)
根据我的评论here,以下代码只会为您提供ID:
$id = explode("/", "www.imdb.com/title/tt5807628/")[2];
我们在这里使用explode(delimiter, string)
函数来破坏每个斜杠的字符串,这会创建一个如下所示的字符串索引:
array (
0 => "www.imdb.com"
1 => "title"
2 => "tt5707627"
)
所以,你可以看到数组索引2
是我们的ID,所以我们在断开字符串(在变量声明的末尾是[2]
)之后选择它,留下我们变量$id
,只包含链接中的ID。
修改强>
你也可以在爆炸之前使用parse_url,只是为了确保这一点 你不会遇到http(s)://如果链接由于用户输入而改变。 - Keja
$id = explode("/", parse_url("www.imdb.com/title/tt5807628/", PHP_URL_PATH))[2];
答案 1 :(得分:0)
使用爆炸功能,您可以通过循环遍历数组来查看每个部分
for item in List:
TO = item
FROM = gmail_user
#message as defined above
try:
server.sendmail(FROM, TO, message)
except:
print('not sent for' + item)
server.close()
答案 2 :(得分:0)
您也可以使用preg_match:
preg_match('~www\.imdb\.com/title/([^/]*)/~', 'www.imdb.com/title/tt5807628/', $matches);
$id = $matches[1];