Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengalih keluar html dan mendapatkan teks biasa dalam php
Dengan pembangunan berterusan Internet dan peningkatan keperluan pengguna, semakin banyak laman web perlu menyediakan fungsi penyuntingan teks, supaya pengguna boleh menambah, mengedit atau memadam kandungan pada halaman. Apabila kandungan ini disimpan ke pangkalan data atau dipaparkan pada halaman, mereka biasanya perlu menjalani beberapa pemprosesan untuk menjadikannya dalam format teks biasa.
Bagi pengaturcara PHP, proses mengalih keluar HTML, iaitu proses menukar sekeping teks kaya kepada format teks biasa, adalah kemahiran penting. Jadi, bagaimanakah anda menggunakan PHP untuk menanggalkan HTML dan mendapatkan teks biasa? Artikel berikut akan memberikan beberapa kaedah praktikal mengenai topik ini.
Terdapat fungsi strip_tags() dalam PHP yang boleh mengalih keluar tag HTML dan mendapatkan rentetan dalam format teks biasa. Format fungsi adalah seperti berikut:
string strip_tags ( string $str [, string $allowable_tags ] )
Parameter pertama ialah rentetan yang akan diproses dan parameter kedua ialah nama elemen tag yang dibenarkan untuk dikekalkan. Jika parameter kedua tidak dinyatakan, semua teg HTML akan dialih keluar.
Sebagai contoh, kod berikut akan mengalih keluar semua elemen teg dalam teks HTML dan mengeluarkan hasilnya:
<?php $html = '<div><p>Hello, world!</p></div>'; $text = strip_tags($html); echo $text; // 输出结果:Hello, world! ?>
Kaedah di atas boleh dilanjutkan untuk menyokong pengekalan elemen teg yang ditentukan.
<?php $html = '<div><p>Hello, world!</p><a href="www.google.com">Google</a></div>'; $text = strip_tags($html, '<p>'); echo $text; // 输出结果:<p>Hello, world!</p> ?>
Selain fungsi strip_tags(), menggunakan ungkapan biasa juga merupakan kaedah biasa. Ungkapan biasa boleh memadankan teg HTML dan mengalih keluarnya. Berikut ialah kod sampel:
<?php $html = '<div><p>Hello, world!</p></div>'; $text = preg_replace('/<[^>]*>/', '', $html); echo $text; // 输出结果:Hello, world! ?>
Gunakan fungsi preg_replace() dan ungkapan biasa "/<1*>/", mengalih keluar Label HTML. Ungkapan biasa ini boleh memadankan mana-mana rentetan bermula dengan "<" dan berakhir dengan ">".
Walaupun dua kaedah di atas adalah mudah dan berkesan, ia akan mengalih keluar sepenuhnya teg HTML, termasuk beberapa teg pemformatan, seperti tebal, condong, garis bawah, dsb. Bagaimana jika anda tidak mahu mengalih keluar teg ini sepenuhnya, tetapi hanya mahu mengekalkan gayanya?
Pada masa ini kami boleh menggunakan sambungan PHP DOM untuk mencapai penyingkiran teg HTML yang lebih canggih. Sambungan PHP DOM ialah sambungan yang berkuasa dan fleksibel yang boleh menghuraikan dokumen HTML dan XML dan kemudian beroperasi padanya, seperti bertanya, memasukkan, memadamkan nod, dsb.
Berikut ialah contoh kod yang menggunakan sambungan PHP DOM untuk mengalih keluar teg HTML:
<?php $html = '<div><p><strong>Hello, </strong><i>world</i>!</p></div>'; $dom = new DOMDocument(); $dom->loadHTML($html); $body = $dom->getElementsByTagName('body')->item(0); $text = $body->textContent; echo $text; // 输出结果:Hello, world! ?>
Mula-mula buat objek DOMDocument, dan kemudian hantar rentetan HTML untuk diproses ke loadHTML( ) kaedah. Seterusnya, gunakan kaedah getElementsByTagName('body')->item(0) untuk mendapatkan elemen badan dalam HTML, dan kemudian gunakan atribut textContent untuk mendapatkan semua kandungan teks biasa di bawah elemen badan. Akhirnya, hasilnya akan dikeluarkan ke skrin.
Artikel ini memperkenalkan tiga kaedah berasaskan PHP untuk mengalih keluar teg HTML dan mendapatkan teks biasa. Yang pertama ialah fungsi strip_tags() yang mudah, yang boleh mencapai penyingkiran teg HTML yang paling asas Kaedah kedua menggunakan kelebihan ungkapan biasa untuk memadankan dan mengalih keluar tag HTML Kaedah ketiga menggunakan sambungan PHP DOM, yang boleh mengawal sepenuhnya HTML sistem dan mengawal hasil keluaran dengan lebih halus. Setiap orang boleh memilih secara fleksibel untuk menggunakannya mengikut keperluan mereka sendiri.
Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar html dan mendapatkan teks biasa dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!