PHP - 计算ul里面的li元素

mic*_*ael 7 html php count html-lists

我正在寻找一种方法来计算php中的动态li元素(不是js).

例如:

<ul>

  <li> lorem </li>

  <li> ipsum </li>

  <li> dolor </li>

  <li> sit </li>

</ul>
Run Code Online (Sandbox Code Playgroud)

会给我4号.(我在这里使用正确的代码太愚蠢了吗?)

有没有办法在PHP中实现这一点?

提前致谢!

编辑:

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

thw*_*hwd 11

你可以做一个很简单的子串计数<li>(或-li-该字符串),它会返回的项目数.


编辑:

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


ale*_*lex 6

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

$dom = new DOMDocument;

$dom->loadHTML($str);

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

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

   var_dump($count);

}
Run Code Online (Sandbox Code Playgroud)

CodePad.

此代码将计算li每个ul元素中的元素数.如果您不关心个别ul元素,请使用$dom->getElementsByTagName('li')->length.