中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

總結php刪除html標簽和標簽內的內容的方法

發布時間:2020-05-21 20:40:45 來源:網絡 閱讀:1400 作者:帥白123 欄目:web開發

經常扒別人網站文章的坑們;我是指那種批量式采集的壓根不看內容的,少不了都會用到刪除html標簽的函數;這里介紹3種不同用途上的方法;

$str='<div><p>這里是p標簽</p><img src="" alt="這里是img標簽"><a href="">這里是a標簽</a><br></div>';

1:刪除全部或者保留指定html標簽

    php自帶的函數strip_tags即可滿足要求,

    使用方法:strip_tags(string,allow);

              string:需要處理的字符串;

              allow:需要保留的指定標簽,可以寫多個;

   <?php
       echo strip_tags($str,'<p><a>');
       
   ?>
   //輸出:<p>這里是p標簽</p><a href="">這里是a標簽</a>

    次函數的優點是簡單粗暴,但是缺點也很明顯;如果有一大堆標簽;而我只是想刪除指定的某一個;那要寫很多需要保留的標簽;        所以有了第二個方法;

2:刪除指定的html標簽

    使用方法:strip_html_tags($tags,$str);

              $tags:需要刪除的標簽(數組格式)

              $str:需要處理的字符串;

  <?php
    function strip_html_tags($tags,$str){ 
        $html=array();
        foreach ($tags as $tag) {
            $html[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i";
        }
        $data=preg_replace($html, '', $str); 
    } 
    echo strip_html_tags(array('p','img'),$str);
    
   ?>
   //輸出<div>這里是p標簽<a href="">這里是a標簽</a><br></div>;

3:刪除標簽和標簽的內容

    使用方法:strip_html_tags($tags,$str);

              $tags:需要刪除的標簽(數組格式)

              $str:需要處理的字符串;

  <?php
    function strip_html_tags($tags,$str){ 
        $html=array();
        foreach ($tags as $tag) {
            $html[]='/(<'.$tag.'.*?>[\s|\S]*?<\/'.$tag.'>)/';
        }
        $data=preg_replace($html,'',$str);
    } 
    echo strip_html_tags(array('a','img'),$str);
    
   ?>
   //輸出<div><p>這里是p標簽</p><img src="" alt="這里是img標簽"><br></div>;

    很多網站文章里面會帶上網站名和鏈接,比如<a >白俊遙博客</a>;這個函數就是專治這種; 別拿這個函數采集本站啊;不然保證不打死你;

4:終極函數,刪除指定標簽;刪除或者保留標簽內的內容;

    使用方法:strip_html_tags($tags,$str,$content);

              $tags:需要刪除的標簽(數組格式)

              $str:需要處理的字符串;

              $ontent:是否刪除標簽內的內容 0保留內容 1不保留內容

  <?php
    /**
     * 刪除指定的標簽和內容
     * @param array $tags 需要刪除的標簽數組
     * @param string $str 數據源
     * @param string $content 是否刪除標簽內的內容 默認為0保留內容    1不保留內容
     * @return string
     */
    function strip_html_tags($tags,$str,$content=0){
        if($content){
            $html=array();
            foreach ($tags as $tag) {
                $html[]='/(<'.$tag.'.*?>[\s|\S]*?<\/'.$tag.'>)/';
            }
            $data=preg_replace($html,'',$str);
        }else{
            $html=array();
            foreach ($tags as $tag) {
                $html[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i";
            }
            $data=preg_replace($html, '', $str);
        }
        return $data;
    }
    echo strip_html_tags(array('a'),$str,1);
   ?>
   //輸出<div><p>這里是p標簽</p><img src="" alt="這里是img標簽"><br></div>;


前面扯了那么多;其實最后這個函數才是干貨;一口氣搞定各種標簽刪除的疑難雜癥不費勁;

別看下面這張截圖了;無非帶點顏色好看,我主要是拿來湊圖當文章封面的;

總結php刪除html標簽和標簽內的內容的方法



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东乌珠穆沁旗| 临安市| 介休市| 明星| 温州市| 芜湖市| 永安市| 新密市| 松滋市| 连云港市| 庄浪县| 会理县| 连州市| 上栗县| 奎屯市| 盐津县| 平阳县| 鄄城县| 岑巩县| 榆社县| 彰化市| 鄯善县| 洪雅县| 浦北县| 泰安市| 阿合奇县| 元阳县| 平和县| 宝坻区| 京山县| 古田县| 双流县| 大同市| 绵阳市| 疏勒县| 启东市| 巴南区| 乌海市| 溧阳市| 杨浦区| 光山县|