preg_match_all打印图像文件的所有alt,title和src

普里亚

我想提出一个脚本,它单独工作,但我正在寻找像对应的图像的所有细节alttitleimage src细节。我写了这个:

$websitelink='http://www.wallsave.com/wallpaper/1920x1200/houses-colorful-walpapers-history-156851.html';
$str = file_get_contents($websitelink);
if(strlen($str)>0) {
    preg_match_all("/< *img[^>]*src *= *[\"\']?([^\"\']*)/i",$str,$src);
    preg_match_all("/< *img[^>]*alt *= *[\"\']?([^\"\']*)/i",$str,$alt);
    preg_match_all("/< *img[^>]*title *= *[\"\']?([^\"\']*)/i",$str,$title);

    foreach ($src[1] as $srci) {
        $imgsrc=$srci.'</br>';
    }

    foreach ($alt[1] as $alti) {
        $altimg=$alti.'</br>';
    }

    foreach ($title[1] as $titlei) {
        $titleimg= $titlei.'</br>';
    }


    $alt_title_src=$altimg.$imgsrc.$titleimg.'</br>';
    echo $alt_title_src;
}

它没有任何作用,否则xpath会更好。

贾科莫1968

我建议这样做的最佳方法是通过DOMDocument为了清楚起见,这是我的代码,使用您的最终变量名称:

// Set the URL value.
$url = 'http://www.wallsave.com/wallpaper/1920x1200/houses-colorful-walpapers-history-156851.html';

// Get the contents of the HTML file & load it into a variable.
$html = file_get_contents($url);

// Parse the HTML with 'DOMDocument()'
$dom = new DOMDocument();
@$dom->loadHTML($html);

// Get all the image tags.
$imgs = $dom->getElementsByTagName('img')->item(0);

$alt_title_src_array = array();
foreach ($dom->getElementsByTagName('img') as $values) {

  // Get the image 'src' value.
  $imgsrc = $values->attributes->getNamedItem("src")->value;

  // Get the image 'alt' value.
  $altimg = $values->attributes->getNamedItem("alt")->value;

  // Get the image 'title' value.
  $titleimg = $values->attributes->getNamedItem("title")->value;

  $alt_title_src_array[] = $altimg . $imgsrc . $titleimg . '</br>';

}

// Dump the '$alt_title_src_array' for debugging.
echo '<pre>';
print_r($alt_title_src_array);
echo '</pre>';

运行此命令时,我得到的输出是:

Array
(
    [0] => http://www.wallsave.com/thumb/houses-colorful-walpapers-history-156851.jpg

    [1] => Follow Me on Pinteresthttp://passets-cdn.pinterest.com/images/follow-on-pinterest-button.png

    [2] => http://platform.tumblr.com/v1/share_1.png

    [3] => Wallpapers Houses Colorful Walpapers History   1920x1200http://www.wallsave.com/wallpapers/1920x1200/houses/156851/houses-colorful-walpapers-history-156851.jpgHouses Colorful Walpapers History   Wallpaper

    [4] => http://www.wallsave.com/thumb/houses-d-house-nature-hd-jootix-279025.jpg

    [5] => http://www.wallsave.com/thumb/houses-in-the-village-nature-landscape-and-996677.jpg

    [6] => http://www.wallsave.com/thumb/houses-sea-villas-hd-942695.jpg

    [7] => http://www.wallsave.com/thumb/houses-tree-house-beautiful-picture-259493.jpg

    [8] => http://www.wallsave.com/thumb/houses-of-parliament-and-big-ben-london-city-pictures-593315.jpg

    [9] => http://www.wallsave.com/thumb/houses-taipei-house-paper-images-buildings-610526.jpg

    [10] => http://www.wallsave.com/thumb/houses-wood-house-mountain-and-lake-895032.jpg

    [11] => http://www.wallsave.com/thumb/houses-man-red-house-sidewalk-snow-trees-winter-us-811843.jpg

    [12] => http://www.wallsave.com/thumb/houses-dr-house-63348.jpg

    [13] => http://www.wallsave.com/thumb/houses-of-parliament-london-united-kingdom-city-121730.jpg

    [14] => http://www.wallsave.com/thumb/houses-colorful-walpapers-history-156851.jpg

    [15] => http://www.wallsave.com/thumb/houses-village-for-free-1876649.jpg

)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

preg_match_all()不匹配所有可能的出现

来自分类Dev

所有输入字段中的 preg_match_all

来自分类Dev

preg_match_all和空键

来自分类Dev

有特殊字符的preg_match_all

来自分类Dev

所有带有preg_match_all的大写字符串

来自分类Dev

preg_match_all和preg_replace foreach循环

来自分类Dev

PHP的preg_match_all和preg_replace

来自分类Dev

preg_match_all查找某个字符串之后的所有单词

来自分类Dev

preg_match_all与所有主机名不匹配

来自分类Dev

preg_match_all如何获得*所有*组合?甚至重叠的

来自分类Dev

preg_match_all如何获得*所有*组合?甚至重叠的

来自分类Dev

需要使用preg_match_all匹配所有相似的词/短语

来自分类Dev

如何通过preg_match_all从同一对象获取所有匹配项?

来自分类Dev

preg_match_all不匹配所有可能性

来自分类Dev

使用 preg_match_all 查找字符串中的所有主题标签

来自分类Dev

如何在没有数组和循环的情况下仅打印 preg_match_all 中第 2 组的值

来自分类Dev

preg_match_all说明

来自分类Dev

PHP preg_match_all搜索和替换

来自分类Dev

带有preg_match_all的换行符

来自分类Dev

PHP preg_match_all有多个单词

来自分类Dev

在preg_match_all中,%符号有什么作用?

来自分类Dev

带有单词的url的preg_match_all ID

来自分类Dev

preg_match_all,除非标签具有类

来自分类Dev

php preg_match_all() 没有按预期工作

来自分类Dev

选择带有 mysql 的 url 的 preg_match_all id

来自分类Dev

preg_match或preg_match_all来查找字符串中的所有单词,并且它们之间有任何东西

来自分类Dev

PHP preg_match_all捕获字符串前面而不是中间字符串的所有模式

来自分类Dev

正则表达式从 HTML、CSS 和 JavaScript 中提取所有图像文件

来自分类Dev

如何在PHP中使用带有Regg和preg_match_all的HTML标签,例如<ul>?

Related 相关文章

  1. 1

    preg_match_all()不匹配所有可能的出现

  2. 2

    所有输入字段中的 preg_match_all

  3. 3

    preg_match_all和空键

  4. 4

    有特殊字符的preg_match_all

  5. 5

    所有带有preg_match_all的大写字符串

  6. 6

    preg_match_all和preg_replace foreach循环

  7. 7

    PHP的preg_match_all和preg_replace

  8. 8

    preg_match_all查找某个字符串之后的所有单词

  9. 9

    preg_match_all与所有主机名不匹配

  10. 10

    preg_match_all如何获得*所有*组合?甚至重叠的

  11. 11

    preg_match_all如何获得*所有*组合?甚至重叠的

  12. 12

    需要使用preg_match_all匹配所有相似的词/短语

  13. 13

    如何通过preg_match_all从同一对象获取所有匹配项?

  14. 14

    preg_match_all不匹配所有可能性

  15. 15

    使用 preg_match_all 查找字符串中的所有主题标签

  16. 16

    如何在没有数组和循环的情况下仅打印 preg_match_all 中第 2 组的值

  17. 17

    preg_match_all说明

  18. 18

    PHP preg_match_all搜索和替换

  19. 19

    带有preg_match_all的换行符

  20. 20

    PHP preg_match_all有多个单词

  21. 21

    在preg_match_all中,%符号有什么作用?

  22. 22

    带有单词的url的preg_match_all ID

  23. 23

    preg_match_all,除非标签具有类

  24. 24

    php preg_match_all() 没有按预期工作

  25. 25

    选择带有 mysql 的 url 的 preg_match_all id

  26. 26

    preg_match或preg_match_all来查找字符串中的所有单词,并且它们之间有任何东西

  27. 27

    PHP preg_match_all捕获字符串前面而不是中间字符串的所有模式

  28. 28

    正则表达式从 HTML、CSS 和 JavaScript 中提取所有图像文件

  29. 29

    如何在PHP中使用带有Regg和preg_match_all的HTML标签,例如<ul>?

热门标签

归档