计算字符串中图像的长度

时间:2015-12-25 04:37:15

标签: php preg-match-all

我试图在字符串中获取图像的长度。

我的字符串

$page="<img><img><img><img>";

从上面的字符串中,我想得到输出“4 images”。

我尝试了preg_match_all()count()功能,但它总是返回“1张图片”。

$page="<img><img><img><img>";
preg_match_all("/<img>/",$page,$m);
echo count($m);

还有其他方法可以知道字符串中有多少图像吗?

2 个答案:

答案 0 :(得分:11)

Preg_match_all返回一个多维数组。阵列是捕获组。由于您没有捕获任何想要计算0 $m索引的任何内容(这是所有找到的值)。所以使用:

echo count($m[0]);

为了演示,这是您的$m

Array
(
    [0] => Array
        (
            [0] => <img>
            [1] => <img>
            [2] => <img>
            [3] => <img>
        )

)

count仅计算0索引,因此您获得1

答案 1 :(得分:3)

您可以使用代码

<?php
$page="<img><img><img><img>";
preg_match_all("/<img>/",$page,$m);
echo count($m[0]);
?>

或者这是替代

<?php
$page="<img><img><img><img>";
$words = substr_count($page, '<img>');
print_r($words);
?>