Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengalih keluar Tag `` daripada Kandungan HTML?

Bagaimana untuk Mengalih keluar Tag `` daripada Kandungan HTML?

Linda Hamilton
Linda Hamiltonasal
2024-11-21 10:41:11727semak imbas

How to Remove `` Tags from HTML Content?

Mengalih keluar Teg Skrip daripada Kandungan HTML

Soalan:

Bagaimanakah saya boleh mengalih keluar secara terpilih sahaja teg daripada kandungan HTML tanpa menjejaskan pemformatan lain?

Jawapan:

Menggunakan Ungkapan Biasa (Regex)

Walaupun tidak disyorkan untuk menghuraikan HTML, regex mudah boleh digunakan untuk mengalih keluar tag:

$html = preg_replace('#<script(.*?)>(.*?)</script>#is', '', $html);

Menggunakan DOMDocument:

Pendekatan yang lebih dipercayai dan lebih selamat ialah menggunakan kelas DOMDocument:

$dom = new DOMDocument();
$dom->loadHTML($html);
$script = $dom->getElementsByTagName('script');
$remove = [];
foreach($script as $item) {
    $remove[] = $item;
}
foreach ($remove as $item) {
    $item->parentNode->removeChild($item);
}
$html = $dom->saveHTML();

Pilihan Tambahan:

Menggunakan Fungsi strip_tags() Native PHP

Walaupun ia tidak mengalih keluar teg, ia boleh digunakan untuk mengalih keluar semua teg HTML:

$html = strip_tags($html, '<p><a><b>');

Menggunakan HTML Purifier

Jika anda ingin melakukan penghuraian HTML yang komprehensif dan langkah keselamatan, pertimbangkan untuk menggunakan perpustakaan HTML Purifier:

$config = HTMLPurifier_Config::createDefault();
$config->set('Core.RemoveScript', true);
$purifier = new HTMLPurifier($config);
$html = $purifier->purify($html);

Atas ialah kandungan terperinci Bagaimana untuk Mengalih keluar Tag `` daripada Kandungan HTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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