最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php截取字符串并保留完整xml標(biāo)簽的函數(shù)代碼

 更新時(shí)間:2013年02月06日 17:41:07   作者:  
截取字符串并保留完整xml標(biāo)簽的php代碼,有需要的朋友可以參考下
復(fù)制代碼 代碼如下:

<?php 
    /**
     * author: goosman
     * blog: http://blog.csdn.net/lgg201
     * mail: lgg860911@yahoo.com.cn
     */ 

    $str    = '0123456789<a>012</a>0123456789'; 
    function substr_remain_tag($s, $o, $l) { 
        $is_match   = preg_match_all(<<<heredoc 

    #該正則表達(dá)式解析xml標(biāo)簽, 標(biāo)簽屬性內(nèi)部支持轉(zhuǎn)義符"\", 支持對(duì)"\"自身和對(duì)應(yīng)引號(hào)的轉(zhuǎn)義 
    <(\w+)             #標(biāo)簽開始 
        (?:          #屬性列表 
            \s+       #前置空格 
            \w+    #屬性名
            \s*    #屬性名后的空白(為了兼容) 
            =        #屬性名值之間的等號(hào) 
            \s*       #屬性值前的空白(為了兼容) 
            (?:         #屬性值(引號(hào)處理) 
                "         #雙引號(hào)的情況 
                (?: 
                    \\\\\\\\   #吃掉連續(xù)兩個(gè)轉(zhuǎn)義符(表示轉(zhuǎn)義符自身) 

                    \\\\"          #吃掉轉(zhuǎn)義符接著一個(gè)引號(hào)(表示轉(zhuǎn)義的引號(hào)) 

                    [^"\\\\]*   #其他字符 
                )* 
                " 

                '       #單引號(hào)情況 
                (?: 
                    \\\\\\\\   #吃掉連續(xù)兩個(gè)轉(zhuǎn)義符(表示轉(zhuǎn)義符自身) 

                    \\\\'   #吃掉轉(zhuǎn)義符接著一個(gè)引號(hào)(表示轉(zhuǎn)義的引號(hào)) 

                    [^'\\\\]*       #其他字符 
                )* 
                ' 
            ) 
        )* 
    > 
    .*?               #標(biāo)簽內(nèi)容 
    </(?1)>     #結(jié)束標(biāo)簽 
    ;x 
    heredoc 
    , $s, $matches, PREG_OFFSET_CAPTURE, $o); 
        if ( $is_match ) { 
            foreach ( $matches[0] as $match ) { 
                $o0 = $match[1]; 
                #標(biāo)簽左邊界越過截取目標(biāo)右邊界, 退出 
                if ( $o0 >= $o + $l ) break; 
                $l0 = strlen($match[0]); 
                #標(biāo)簽右邊界在截取目標(biāo)右邊界內(nèi), 繼續(xù) 
                if ( $o0 + $l0 < $o + $l ) continue; 

                #以下為標(biāo)簽跨邊界處理 
                $l  = $o0 + $l0 - $o; 
                break; 
            } 
        } 
        return substr($s, $o, $l); 
    }  
    echo $str . chr(10); 
    echo substr_remain_tag($str, 0, 20) . chr(10);

相關(guān)文章

  • PHP基于ORM方式操作MySQL數(shù)據(jù)庫實(shí)例

    PHP基于ORM方式操作MySQL數(shù)據(jù)庫實(shí)例

    這篇文章主要介紹了PHP基于ORM方式操作MySQL數(shù)據(jù)庫,結(jié)合具體實(shí)例形式分析了php針對(duì)mysql數(shù)據(jù)庫常用操作的封裝與使用技巧,需要的朋友可以參考下
    2017-06-06
  • PHP中常用的魔術(shù)方法

    PHP中常用的魔術(shù)方法

    本篇文章主要介紹了PHP中常用的魔術(shù)方法的相關(guān)資料。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • php實(shí)現(xiàn)計(jì)數(shù)器方法小結(jié)

    php實(shí)現(xiàn)計(jì)數(shù)器方法小結(jié)

    這篇文章主要介紹了php實(shí)現(xiàn)計(jì)數(shù)器方法,總結(jié)了三款非常實(shí)用的計(jì)數(shù)器實(shí)現(xiàn)方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • php繪制一條直線的方法

    php繪制一條直線的方法

    這篇文章主要介紹了php繪制一條直線的方法,主要涉及GD庫中imageline方法的使用技巧,需要的朋友可以參考下
    2015-01-01
  • PHP計(jì)劃任務(wù)、定時(shí)執(zhí)行任務(wù)的實(shí)現(xiàn)代碼

    PHP計(jì)劃任務(wù)、定時(shí)執(zhí)行任務(wù)的實(shí)現(xiàn)代碼

    PHP計(jì)劃任務(wù)、定時(shí)執(zhí)行任務(wù)的實(shí)現(xiàn)用到的函數(shù) ignore_user_abort(),set_time_limit(0),sleep($interval) 此代碼只要運(yùn)行一次后關(guān)閉瀏覽器即可。
    2011-04-04
  • PHP排序算法的復(fù)習(xí)和總結(jié)

    PHP排序算法的復(fù)習(xí)和總結(jié)

    對(duì)于PHP中對(duì)數(shù)組的元素進(jìn)行排序,這個(gè)是很經(jīng)常用到的,之前的項(xiàng)目中也有,而且對(duì)于幾種排序我們都是用的是asort arsort 等PHP原生函數(shù),沒有自己去實(shí)現(xiàn),所以就對(duì)一下的幾個(gè)函數(shù)進(jìn)行總結(jié),這個(gè)會(huì)不斷的進(jìn)行補(bǔ)充,自己也可以好好的復(fù)習(xí)和總結(jié)
    2012-02-02
  • php橋接模式應(yīng)用案例分析

    php橋接模式應(yīng)用案例分析

    這篇文章主要介紹了php橋接模式應(yīng)用,結(jié)合具體案例形式分析了php橋接模式原理及信息發(fā)送相關(guān)應(yīng)用技巧,需要的朋友可以參考下
    2019-10-10
  • php中禁止單個(gè)IP與ip段訪問的代碼小結(jié)

    php中禁止單個(gè)IP與ip段訪問的代碼小結(jié)

    今天網(wǎng)上有人問我php中如何禁用ip訪問,通過測(cè)試發(fā)現(xiàn)如下的代碼不錯(cuò),原理也比較簡(jiǎn)單
    2012-07-07
  • PHP對(duì)象相關(guān)知識(shí)總結(jié)

    PHP對(duì)象相關(guān)知識(shí)總結(jié)

    這篇文章主要介紹了PHP對(duì)象相關(guān)知識(shí)總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • php判斷兩個(gè)浮點(diǎn)數(shù)是否相等的方法

    php判斷兩個(gè)浮點(diǎn)數(shù)是否相等的方法

    這篇文章主要介紹了php判斷兩個(gè)浮點(diǎn)數(shù)是否相等的方法,涉及php操作浮點(diǎn)數(shù)的技巧,比較實(shí)用,需要的朋友可以參考下
    2015-03-03

最新評(píng)論

梁平县| 广饶县| 元阳县| 静乐县| 田林县| 西林县| 商河县| 石首市| 淳安县| 卢湾区| 嘉峪关市| 读书| 开原市| 新龙县| 故城县| 临邑县| 伊宁县| 沂南县| 井研县| 陈巴尔虎旗| 正定县| 桂阳县| 德兴市| 团风县| 旬邑县| 武川县| 榆树市| 丹阳市| 桦南县| 石台县| 松溪县| 开化县| 木兰县| 抚松县| 晋中市| 体育| 南投县| 宽城| 林周县| 珠海市| 乌海市|