如何从php var中获取图像文件名和图像文件名的数量


How to get number of image file name and image file name from php var?

如何从php var中获取图像文件名和图像文件名的数量?

我有这样的php var string

<p>aas sss ddd fff g gh ggg hhhh</p><p style="text-align: center; "><img src="threads_image/2rU4Va7c05b3f200c8cb893126fc7622b63f477ORZWM38.png" style="width: 240px;"></p><p style="text-align: left;"><img src="threads_image/2rU4V9cbdefa8e38d5457c8b1fc7ccb77c9dc30YQJUI9N.gif" style="width: 300px;"></p><p style="text-align: left;"><br></p><p style="text-align: left;"><img src="threads_image/2rU4V89e0e28ad1aab7c870d0df6380087ed378IGAN8BX.jpg" style="width: 794px;"><br></p>

所以我想要得到图像文件的数量和图像文件名。我该怎么做呢?

我没见过这样的php函数

(不是我)。

如果您不希望使用正则表达式(或任何非标准的PHP组件),使用内置的DOMDocument类的合理解决方案如下:

<?php
    $doc = new DOMDocument();
    $doc->loadHTML('<img src="http://example.com/img/image.jpg" ... />');
    $imageTags = $doc->getElementsByTagName('img');
    foreach($imageTags as $tag) {
        echo $tag->getAttribute('src');
    }
?>

浏览器的链接:正则表达式,PHP -从img标签

中分离src属性

您可以使用正则表达式来查找图像名称。这个正则表达式应该没问题:src='"threads_image'/([^"]+)。你可以这样使用:

preg_match_all('/<img src='"threads_image'/([^"]+)/', $html , $matches);

$matches[1]现在是图像名称的列表。

C:'Users'Thomas'Projects'stackoverflow'40615130'index.php:4:
array (size=2)
  0 => 
    array (size=3)
      0 => string '<img src="threads_image/2rU4Va7c05b3f200c8cb893126fc7622b63f477ORZWM38.png'     (length=74)
      1 => string '<img src="threads_image/2rU4V9cbdefa8e38d5457c8b1fc7ccb77c9dc30YQJUI9N.gif' (length=74)
      2 => string '<img src="threads_image/2rU4V89e0e28ad1aab7c870d0df6380087ed378IGAN8BX.jpg' (length=74)
  1 => 
    array (size=3)
      0 => string '2rU4Va7c05b3f200c8cb893126fc7622b63f477ORZWM38.png' (length=50)
      1 => string '2rU4V9cbdefa8e38d5457c8b1fc7ccb77c9dc30YQJUI9N.gif' (length=50)
      2 => string '2rU4V89e0e28ad1aab7c870d0df6380087ed378IGAN8BX.jpg' (length=50)

请注意,这只适用于所有的图像共享目录threads_image