Rumah pembangunan bahagian belakang tutorial php php截取字符串并保留完整xml标签的函数代码_PHP

php截取字符串并保留完整xml标签的函数代码_PHP

Jun 01, 2016 pm 12:08 PM
teg xml Rentetan memintas

复制代码 代码如下:
    /**
     * author: goosman
     * blog: http://blog.csdn.net/lgg201
     * mail: lgg860911@yahoo.com.cn
     */ 

    $str    = '01234567890120123456789'; 
    function substr_remain_tag($s, $o, $l) { 
        $is_match   = preg_match_all(
    #该正则表达式解析xml标签, 标签属性内部支持转义符"\", 支持对"\"自身和对应引号的转义 
            (?:          #属性列表 
            \s+       #前置空格 
            \w+    #属性名
            \s*    #属性名后的空白(为了兼容) 
            =        #属性名值之间的等号 
            \s*       #属性值前的空白(为了兼容) 
            (?:         #属性值(引号处理) 
                "         #双引号的情况 
                (?: 
                    \\\\\\\\   #吃掉连续两个转义符(表示转义符自身) 

                    \\\\"          #吃掉转义符接着一个引号(表示转义的引号) 

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

                '       #单引号情况 
                (?: 
                    \\\\\\\\   #吃掉连续两个转义符(表示转义符自身) 

                    \\\\'   #吃掉转义符接着一个引号(表示转义的引号) 

                    [^'\\\\]*       #其他字符 
                )* 
                ' 
            ) 
        )* 
    > 
    .*?               #标签内容 
    (?1)>     #结束标签 
    ;x 
    heredoc 
    , $s, $matches, PREG_OFFSET_CAPTURE, $o); 
        if ( $is_match ) { 
            foreach ( $matches[0] as $match ) { 
                $o0 = $match[1]; 
                #标签左边界越过截取目标右边界, 退出 
                if ( $o0 >= $o + $l ) break; 
                $l0 = strlen($match[0]); 
                #标签右边界在截取目标右边界内, 继续 
                if ( $o0 + $l0
                #以下为标签跨边界处理 
                $l  = $o0 + $l0 - $o; 
                break; 
            } 
        } 
        return substr($s, $o, $l); 
    }  
    echo $str . chr(10); 
    echo substr_remain_tag($str, 0, 20) . chr(10);
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara memintas rentetan dalam bahasa Go Cara memintas rentetan dalam bahasa Go Mar 13, 2024 am 08:33 AM

Bahasa Go ialah bahasa pengaturcaraan yang berkuasa dan fleksibel yang menyediakan fungsi pemprosesan rentetan yang kaya, termasuk pemintasan rentetan. Dalam bahasa Go, kita boleh menggunakan kepingan untuk memintas rentetan. Seterusnya, kami akan memperkenalkan secara terperinci cara memintas rentetan dalam bahasa Go, dengan contoh kod khusus. 1. Gunakan penghirisan untuk memintas rentetan Dalam bahasa Go, anda boleh menggunakan ungkapan menghiris untuk memintas sebahagian daripada rentetan. Sintaks ungkapan slice adalah seperti berikut: slice:=str[start:end]where, s

Bagaimana untuk memintas rentetan dalam bahasa go Bagaimana untuk memintas rentetan dalam bahasa go Jan 12, 2023 pm 04:02 PM

Kaedah pemintasan: 1. Memintas aksara tunggal, sintaks "rentetan[indeks]", di mana "rentetan" mewakili rentetan sumber, dan "indeks" mewakili subskrip aksara yang akan diperolehi 2. Memintas subrentetan, sintaks "rentetan [start: end" ]", dengan "start" mewakili indeks aksara pertama yang akan dipintas (termasuk aksara ini apabila memintas), "end" mewakili indeks aksara terakhir yang akan dipintas (tidak termasuk aksara ini); . Dapatkan keseluruhan String, sintaks "rentetan[:]".

Cara menggunakan fungsi LEFT dalam MySQL untuk memintas bahagian kiri rentetan Cara menggunakan fungsi LEFT dalam MySQL untuk memintas bahagian kiri rentetan Jul 12, 2023 pm 01:37 PM

Cara menggunakan fungsi LEFT dalam MySQL untuk memintas bahagian kiri rentetan Dalam sistem pengurusan pangkalan data, kita sering menghadapi situasi di mana kita perlu memintas bahagian tertentu daripada rentetan. MySQL menyediakan banyak fungsi rentetan terbina dalam, termasuk fungsi KIRI, yang boleh digunakan untuk memintas bahagian kiri rentetan. Sintaks fungsi LEFT adalah seperti berikut: LEFT (str, length) dengan str ialah rentetan yang akan dipintas dan panjang ialah panjang yang akan dipintas. Seterusnya, kami akan menggunakan contoh kod untuk menunjukkan caranya

fungsi substr() dalam PHP: cara memintas sebahagian daripada rentetan fungsi substr() dalam PHP: cara memintas sebahagian daripada rentetan Nov 03, 2023 am 10:43 AM

Fungsi substr() dalam PHP: Cara memintas sebahagian daripada rentetan memerlukan contoh kod khusus Dalam pengaturcaraan PHP, pemprosesan rentetan ialah salah satu operasi yang paling biasa. Memintas bahagian rentetan ialah keperluan yang sering ditemui semasa memproses rentetan. Dalam PHP, kita boleh menggunakan fungsi substr() terbina dalam untuk memintas sebahagian daripada rentetan. Artikel ini akan memperkenalkan penggunaan fungsi substr() secara terperinci dan memberikan contoh kod khusus. Penggunaan asas fungsi substr() adalah seperti berikut: rentetan

Gunakan fungsi LEFT MySQL untuk memintas panjang rentetan yang ditentukan Gunakan fungsi LEFT MySQL untuk memintas panjang rentetan yang ditentukan Jul 25, 2023 pm 05:04 PM

Gunakan fungsi LEFT MySQL untuk memintas panjang rentetan yang ditentukan Dalam MySQL, kita selalunya perlu memintas rentetan untuk memenuhi keperluan tertentu. Antaranya, fungsi LEFT adalah fungsi yang sangat praktikal yang boleh memintas panjang rentetan yang ditentukan. Artikel ini akan memperkenalkan cara menggunakan fungsi LEFT MySQL untuk memintas rentetan dan memberikan contoh kod. Pertama, kita perlu memahami sintaks fungsi LEFT. Sintaks asas fungsi LEFT adalah seperti berikut: LEFT(string,lengt

Cara menggunakan fungsi RIGHT dalam MySQL untuk memintas bahagian kanan rentetan Cara menggunakan fungsi RIGHT dalam MySQL untuk memintas bahagian kanan rentetan Jul 12, 2023 am 10:20 AM

Cara menggunakan fungsi RIGHT dalam MySQL untuk memintas bahagian kanan rentetan Dalam MySQL, fungsi RIGHT ialah fungsi yang digunakan untuk memintas bahagian kanan rentetan. Ia menerima dua parameter: rentetan yang akan dipintas dan panjang yang akan dipintas, dan mengembalikan rentetan yang mengandungi panjang yang ditentukan. Gunakan fungsi RIGHT untuk mendapatkan bahagian rentetan yang betul dengan sangat mudah. Di bawah ini kami akan menunjukkan cara menggunakan fungsi RIGHT melalui contoh kod. Pertama, kita perlu mencipta jadual data sampel untuk menyimpan rentetan yang akan dipintas. CR

Bagaimana untuk memintas rentetan dalam js Bagaimana untuk memintas rentetan dalam js Sep 21, 2023 am 10:45 AM

js menggunakan kaedah substring(), kaedah slice(), kaedah substr() dan kaedah split() untuk memintas rentetan. Pengenalan terperinci: 1. Kaedah substring() menerima dua parameter, iaitu kedudukan permulaan dan kedudukan akhir 2. Kaedah slice() membenarkan penggunaan nombor negatif sebagai parameter, menunjukkan bahawa indeks dikira dari penghujung; string; 3. kaedah substr(), yang menerima dua parameter, iaitu kedudukan permulaan dan bilangan aksara yang akan dipintas 4. kaedah split(), dsb.

Cara menggunakan ungkapan biasa untuk mengesahkan nilai atribut tag XML dalam golang Cara menggunakan ungkapan biasa untuk mengesahkan nilai atribut tag XML dalam golang Jun 24, 2023 am 10:37 AM

Golang ialah bahasa pengaturcaraan yang berkuasa yang boleh digunakan untuk menulis pelbagai jenis aplikasi. Antaranya, menggunakan ungkapan biasa untuk mengesahkan nilai atribut tag XML adalah kemahiran asas dalam golang. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa untuk mengesahkan nilai atribut teg XML dalam golang. XML ialah bahasa penanda yang biasa digunakan untuk bertukar-tukar data di web. Struktur sintaksisnya sangat ketat, setiap elemen mesti mengandungi tag dan satu set atribut. Apabila menggunakan XML, selalunya perlu untuk mengesahkan sama ada nilai atribut teg sepadan

See all articles