繁体   English   中英

PHP-计算ul中的li元素

[英]PHP - count li elements inside ul

我正在寻找一种方法来计算php(而非js)中ul内部的动态li元素。

例如:

<ul>

  <li> lorem </li>

  <li> ipsum </li>

  <li> dolor </li>

  <li> sit </li>

</ul>

会给我返回数字4 (我太傻了,无法在此处使用适当的代码吗?)

有一些方法可以在php中完成吗?

提前致谢!

编辑:

标记是由cms系统生成的,计数应放在模板文件内列表的前面。

您可以对该字符串的<li> (或-li- )执行非常简单的Substring Count ,它将返回项目数。


编辑:

$count = substr_count($html,'<li>'); //where $html holds your piece of HTML.

假设您没有输出此HTML(否则,计算元素数量应该是微不足道的),则可以使用PHP的DOMDocument

$dom = new DOMDocument;

$dom->loadHTML($str);

foreach($dom->getElementsByTagName('ul') as $ul) {

   $count = $ul->getElementsByTagName('li')->length;

   var_dump($count);

}

键盘

此代码将计算每个ul元素中li元素的数量。 如果您不关心单个ul元素,则只需使用$dom->getElementsByTagName('li')->length

您的答案在于DOMDocument

例如:

$dom = new DOMDocument();
$dom -> loadHTML("<ul><li></li><li></li></ul>");
$li = $dom->getElementsByTagName("li");
foreach ($li as $li_c){
$i++;
}
echo $i;

使用PHP的DOM库,或查找简单DOM分析器。 它包含对HTML的搜索

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM