中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

使用正則表達(dá)式來(lái)檢測(cè)標(biāo)簽是否關(guān)閉

2018-07-20    來(lái)源:open-open

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用
function check_html($html) {
    preg_match_all("/<([a-zA-Z0-9]+)\\s*[^\\/>]*>/",$html,$start_tags);
    preg_match_all("/<\\/([a-zA-Z0-9]+)>/", $html, $end_tags);
    if(count($start_tags[1]) != count($end_tags[1])) return false;
    for($i = 0; $i < count($start_tags[1]); $i++) {
        if(!in_array($start_tags[1][$i], $end_tags[1])) return false;
    }
    return true;
}

解釋:

/<([a-zA-Z0-9]+)\\s*[^\\/>]*>/這個(gè)模式是用來(lái)匹配HTML的標(biāo)記(如:<head>、<div>、<div id="main">等等,但是除了<br/>這種)的,并且在$start_tags保持著標(biāo)簽的名字(如:head、div等)。而/<\\/([a-zA-Z0-9]+)>/這個(gè)模式是用來(lái)匹配閉合的HTML標(biāo)記(如:</head>,</div>等)的。并且在$end_tags中保持這閉合的標(biāo)簽名。然后我們用count($start_tags[1]) != count($end_tags[1])這個(gè)條件語(yǔ)句來(lái)判斷開始的標(biāo)記跟閉合的標(biāo)記是否相等,不相等就說明沒閉合。最后用in_array($start_tags[1][$i], $end_tags[1])來(lái)判斷開始標(biāo)跟閉合的標(biāo)記是否相等。至此,我們就完成了HTML的匹配了!

標(biāo)簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇: getchar putchar函數(shù)用法

下一篇:Python發(fā)郵件帶附件