php
  • regex
  • http
  • https
  • 2017-03-25 69 views 1 likes 
    1

    我有这样的PHP代码:在正则表达式搜索和https

    $cinemagiaprepare=file_get_contents("http://www.bing.com/search?q=$numele+$anul+site:https://www.cinemagia.ro/filme/&format=rss&count=1"); 
    $cinepatern='#<\/title><link>(https:\/\/www.cinemagia.ro.+?)<\/link><description>#'; 
    if (preg_match($cinepatern, $cinemagiaprepare, $matchc)) 
    $numeletv1=($matchc[1]); 
    

    那代码搜索:http://www.bing.com/search?q=Walk%20of%20Fame%202017%20site:https://www.cinemagia.ro/filme/&format=rss&count=1

    此链接http://www.cinemagia.ro/filme/world-premiere-2009x00-1650809

    我的代码只搜索https。我想搜索httpshttp

    我试试这个正则表达式:

    $cinepatern='#<\/title><link>(https.*:\/\/www.cinemagia.ro.+?)<\/link> 
    

    演示:https://regex101.com/r/oNeMMb/1这个表达式选择所有代码。

    +0

    的'/'不需要,除非它被用作进行转义一个分隔符。网址也可以是独立于协议的。您最好使用解析器并拉动'link'元素。 – chris85

    回答

    1

    对于HTTPS可选s,这将是这个

    '#</title><link>(https?://www\.cinemagia\.ro.+?)</link><description>#'

    0

    用SimpleXML:

    $sxe = simplexml_load_file('http://www.bing.com/search?q=$numele+$anul+site:https://www.cinemagia.ro/filme/&format=rss&count=1'); 
    
    echo $sxe->xpath('//link[starts-with(., "http://www.cinemagia.ro") or starts-with(., "https://www.cinemagia.ro")]')[0]; 
    
    相关问题