我试图在字符串中获取图像的长度。
我的字符串
$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);
还有其他方法可以知道字符串中有多少图像吗?
答案 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);
?>