php中的子串js

时间:2017-11-20 20:43:34

标签: javascript php substring imdb

在这里输入代码 我试图从链接中获取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中获得相同的效果,怎么做?

3 个答案:

答案 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];