雨小睡 2022-08-08 11:23 采纳率: 100%
浏览 52
已结题

PHP如何给H2标签添加自增ID

我想让文章内容中的

<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能实现吗?谢谢

  • 写回答

1条回答 默认 最新

  • 一把编程的菜刀 2022-08-08 11:39
    关注

    可以的,用正则匹配出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;
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月16日
  • 已采纳回答 8月8日
  • 创建了问题 8月8日