请告诉我如何在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;
任何人都可以告诉我如何做到这一点。
答案 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
)