Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用正则表达式提取页面内容和图像_Php_Regex - Fatal编程技术网

Php 使用正则表达式提取页面内容和图像

Php 使用正则表达式提取页面内容和图像,php,regex,Php,Regex,我使用以下方法获取页面内容: $data = file_get_contents($url); 现在我想提取 形象与 留下脚本和html代码的数据部分 这是我使用的图像的正则表达式: function get_logo($data) { return preg_match("/<img(.*?)src=(\"|\')(.+?)(gif|jpg|png|bmp)(\"|\')(.*?)(\/)?>(<\/img>)?/", $html, $matches) ?

我使用以下方法获取页面内容:

$data = file_get_contents($url);
现在我想提取

  • 形象与
  • 留下脚本和html代码的数据部分
  • 这是我使用的图像的正则表达式:

    function get_logo($data) 
    {
        return preg_match("/<img(.*?)src=(\"|\')(.+?)(gif|jpg|png|bmp)(\"|\')(.*?)(\/)?>(<\/img>)?/", $html, $matches) ? $matches[1] : '';
    }
    
    函数获取徽标($data)
    {
    返回preg_match(“/()?/”,$html,$matches)?$matches[1]:“”;
    }
    
    它什么也不返回。

    1)我们看不到html,很难理解您需要什么

    2)
    preg\u match\u all(/return all img tags,image name and extensions on page

    1)我们看不到html,很难理解您需要什么


    2)
    preg\u match\u all(“/返回页面上的所有img标记、图像名称和扩展名

    以下正则表达式将从$data变量提取图像URL:

    preg_match_all('/<img[^>]+src=([\'"])([^"\']+)\1/i', $content, $matches);
    var_dump($matches[2]);
    
    preg\u match\u all('/
    
    在数组中,$matches[2]将是指向$content中图像的所有链接,以下正则表达式将从$data变量提取图像URL:

    preg_match_all('/<img[^>]+src=([\'"])([^"\']+)\1/i', $content, $matches);
    var_dump($matches[2]);
    
    preg\u match\u all('/
    
    在数组中,$matches[2]将是指向$content中图像的所有链接

    不要使用正则表达式解析HTML


    我建议您使用类似的HTML DOM解析。

    不要使用正则表达式解析HTML


    我建议您使用HTML DOM解析,如。

    您确定
    preg\u match
    是javascript吗?不要使用正则表达式进行HTML解析。@jerry:这是php函数检查这个问题!!也许这可以帮助您!:)@卡里姆汗:你应该适当地标记你的问题。如果你使用的是PHP,不要将你的问题标记为javascript,除非还涉及javascript。你确定
    preg\u match
    是javascript吗?不要使用正则表达式进行HTML解析。@jerry:这是PHP函数检查这个问题!!也许这可以帮助你!:)@卡里姆汗:你应该适当地标记你的问题。如果你使用的是PHP,不要将你的问题标记为javascript,除非还涉及javascript。