preg_match用于查找以id开头的元素数

时间:2014-07-19 12:05:04

标签: php regex

请告诉我如何在php中使用preg_match来查找以特定id开头的html中的元素数。

<div id="test_1"></div>   
<div id="test_2"></div>
<div id="test_3"></div>   

找到以id =&#34; test _&#34;开头的元素数量。所以在上面的例子中我应该得到3 还以数组的形式获取第二个参数 所以     Arr [0] = 1;     Arr [1] = 2;     Arr [2] = 3;

任何人都可以告诉我如何做到这一点。

2 个答案:

答案 0 :(得分:1)

这是最简单的方法:

$regex = '~id="test_\K[^"]~';
$number_of_matches = preg_match_all($regex, $yourstring, $matches);
if ($number_of_matches) print_r($matches[0]);

<强>结果

  • $number_of_matches是3
  • $matches[0]是一个包含三个匹配项的数组:(1,2,3),即$matches[0][0]为1,$matches[0][1]为2,$matches[0][2]为3。

答案 1 :(得分:0)

$str = '<div id="test_1"></div><div id="test_2"></div><div id="test_3"></div>';
if ( preg_match_all( '/test_([0-9]+)/', $str, $matches ) )
{
    print_r($matches[1]);
}

<强>输出:

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