php如何用正則給文章加導航目錄

來源:互聯網
上載者:User

可能有很多童鞋對目錄導航感興趣,點擊上面的目錄文字可以快速跳轉到相關內容,適合長文章或者有特殊需求的文章使用。 通過Regex,自動文章內容提取帶有H2標籤的文字為目錄索引。

$str = '<h2 class="archt"><strong>我是裡面的內容</strong></h2><h2 class="archt2">我是第2個內容</h2><strong>我沒有h2包在裡面</strong>';preg_match_all('/<h2.*?>.*?(<[^>]+>)?([^<]+)(<\/[^>]+>)?<\/h2>/s', $str, $arr);print_r($arr);
 Array(    [0] => Array        (            [0] => <h2 class="archt"><strong>我是裡面的內容</strong></h2>            [1] => <h2 class="archt2">我是第2個內容</h2>        )    [1] => Array        (            [0] => <strong>            [1] =>         )    [2] => Array        (            [0] => 我是裡面的內容            [1] => 我是第2個內容        )    [3] => Array        (            [0] => </strong>            [1] =>         ))

寫成個函數

function article_index($content){      $matches = array();       $ul_li = '';    $r = '/<h2.*?>.*?(<[^>]+>)?([^<]+)(<\/[^>]+>)?<\/h2>/s';    if(preg_match_all($r, $content, $matches))    {        foreach($matches[2] as $num => $title)        {            $ul_li .= '<em>'.$title."&nbsp;</em>";        }       }       return $ul_li;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.