使用PHP计算两个标记之间的标记出现次数

使用PHP计算两个标记之间的标记出现次数,php,count,Php,Count,如何获取标记之间的标记计数?标记可以是任意数量的标记 <make_1> <model_1>product Name</model_1> <model_2>product Name</model_2> <model_3>product Name</model_3> <model_4>product Name</model_4> </make_1> 产品名称 产品名称 产品名称

如何获取
标记之间的
标记计数?
标记可以是任意数量的标记

<make_1>
<model_1>product Name</model_1>
<model_2>product Name</model_2>
<model_3>product Name</model_3>
<model_4>product Name</model_4>
</make_1>

产品名称
产品名称
产品名称
产品名称

如果我没有误解您的要求,那么您可以简单地尝试下面的方法。对于父标记中的
count
元素有一个超级简单的示例。请看这里的示例,我希望您也能了解更多关于

$xml=count();
输出:元素计数:4


演示:

如果我没有误解您的要求,那么您可以简单地尝试下面的方法。对于父标记中的
count
元素有一个超级简单的示例。请看这里的示例,我希望您也能了解更多关于

$xml=count();
输出:元素计数:4

演示:

您可以将字符串设为对象,然后对其进行计数(假设它始终为一级)

$xml=新的simplexmlelement('
产品名称
产品名称
产品名称
产品名称
');
回声计数($xml);
演示:

您可以将字符串设置为对象,然后只需对其进行计数(假设它始终为一级)

$xml=新的simplexmlelement('
产品名称
产品名称
产品名称
产品名称
');
回声计数($xml);

演示:

只是一个替代解决方案:

资料来源:


演示:

只是一个替代解决方案:

资料来源:


演示:

谢谢@chris85这正是我一直在寻找的。很好。@chris85听起来很傻,但如何将其移动到“已解决”@MrK您需要单击绿色复选标记,请参见。谢谢@chris85这正是我一直在寻找的。很好。@chris85听起来很傻,但如何将其移动到已解决状态?@MrK您需要单击绿色复选标记,请参见。噢,
simplexml的
count
是一个很好的用法。我想我对simplexml的了解还不够。噢,
simplexml的
count
是一个很好的用法。我想我对simplexml的研究还不够。
$xml = <<<EOF
<make_1>
  <model_1>product Name</model_1>
  <model_2>product Name</model_2>
  <model_3>product Name</model_3>
  <model_4>product Name</model_4>
</make_1>
EOF;
$elem = new SimpleXMLElement($xml);

// THIS IS JUST FOR DEBUG PURPOSE
print '<pre>';
print_r($elem);
print '<pre>';
echo "Element Count: ". $elem->count();
$xml = new simplexmlelement('<make_1>
<model_1>product Name</model_1>
<model_2>product Name</model_2>
<model_3>product Name</model_3>
<model_4>product Name</model_4>
</make_1>');
echo count($xml);
<?php
$string='<make_1>
<model_1>product Name</model_1>
<model_2>product Name</model_2>
<model_3>product Name</model_3>
<model_4>product Name</model_4>
</make_1>';

echo preg_match_all("/(<model_[^>]+\>)/i", $string, $matches);
4