计算字符串中图像的长度

Count length of images in a string

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

我的字符串

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

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

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

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

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

您可以使用代码

<?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);
?>

Preg_match_all returns 多维数组。数组是捕获组。由于您没有捕获任何想要计算 $m0 索引(这是所有找到的值)。所以使用:

echo count($m[0]);

为了演示,这是您的 $m

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

)

count只计算0索引,所以得到1.