我想让文章内容中的
<h2>张三<h2>
<h2>李四<h2>
<h2>王五<h2>
......
变成
<h2 id="id-1">张三<h2>
<h2 id="id-2">李四<h2>
<h2 id="id-3">王五<h2>
......
就是查找文章内容中的所有h2标签,并自动为其添加自增序号,h2个数不固定,不用JS,请问PHP能实现吗?谢谢
可以的,用正则匹配出h2标签,然后循环替换
用
$pattern = '/<h2>([^\<]+)<\/h2>/';
preg_match_all($pattern , $html, $matches);
匹配出所有的
然后循环
$matches[0]
最后用替换,循环替换对于的内容就好了,大致如下:
$html='<h2>张三</h2>
大概放电饭锅
<h2>李四</h2>
豆腐干豆腐
<h2>王五</h2>';
$pattern = '/<h2>([^\<]+)<\/h2>/is';
preg_match_all($pattern , $html, $matches);
if($matches[0]){
foreach($matches[0] as $key=>$val){
$html=str_replace($val,'<h2 id="id-'.($key+1).'">'.$matches[1][$key]."</h2>",$html);
}
}
print_r($html); exit;