【问题标题】:How to get second and third image url in string using php?如何使用 php 在字符串中获取第二个和第三个图像 url?
【发布时间】:2017-09-08 16:04:55
【问题描述】:

如何使用 php 获取字符串中的第二个和第三个图像 url?

我的$st_data

<img src="1.jpg"><img src="2.jpg"><img src="3.jpg">

然后我使用这个代码

<?PHP
preg_match('/< *img[^>]*src *= *["\']?([^"\']*)/i', $st_data, $img_url);
echo $img_url[1];
echo $img_url[2];
echo $img_url[3];
?>

它只会回显第一个图像 url,我想知道如何使用我的代码获取第二个和第三个图像 url?

【问题讨论】:

    标签: php


    【解决方案1】:

    preg_match 只匹配第一个实例。您需要使用preg_match_all。试试这个:

    $st_data = '<img src="1.jpg"><img src="2.jpg"><img src="3.jpg">';
    preg_match_all('/< *img[^>]*src *= *["\']?([^"\']*)/i', $st_data, $img_url);
    
    echo $img_url[1][0];
    echo $img_url[1][1];
    echo $img_url[1][2];
    

    【讨论】:

      【解决方案2】:

      如果不是强制使用正则表达式:

      $st_data = '<img src="1.jpg"><img src="2.jpg"><img src="3.jpg">';
      
      $domd = new DOMDocument();
      libxml_use_internal_errors(true);
      $domd->loadHTML($st_data);
      libxml_use_internal_errors(false);
      
      $images = $domd->getElementsByTagName('img');
      
      $second = $images[1]->getAttribute('src');
      $third = $images[2]->getAttribute('src');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-08
        • 2014-10-22
        • 1970-01-01
        • 1970-01-01
        • 2021-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多