Mengalih keluar Teg HTML daripada Rekod Pangkalan Data
Dalam bidang pengurusan pangkalan data, mengekstrak maklumat daripada medan teks boleh mencabar, terutamanya apabila teg HTML bersepah-sepah isi. Pertanyaan ini menyerlahkan senario di mana baris jadual mengandungi penanda HTML dan tugasnya adalah untuk mendapatkan semula rekod berdasarkan kata kunci tertentu, tidak termasuk yang mempunyai teg mengelilingi kata kunci.
Pertanyaan yang disediakan, SELECT * dari jadual WHERE colmn_name LIKE ' %mytext%', mengenal pasti dengan betul baris yang mengandungi kata kunci "mytext." Walau bagaimanapun, ia gagal dengan memasukkan baris di mana "teks saya" adalah sebahagian daripada teg HTML, seperti .
Untuk membetulkan isu ini, pendekatan yang lebih halus ialah diperlukan. Penyelesaiannya melibatkan penggunaan fungsi MySQL tersuai, fnStripTags.
Fungsi fnStripTags berfungsi dengan mengenal pasti secara berulang teg HTML dalam rentetan input dan mengalih keluarnya sambil mengekalkan kandungan yang lain. Fungsi Locate digunakan untuk mencari kedudukan permulaan dan penamat tag, dan fungsi Sisip menggantikan bahagian yang ditag dengan rentetan kosong.
Dengan fungsi fnStripTags tersedia, pertanyaan boleh diubah suai kepada:
SELECT * from table WHERE fnStripTags(colmn_name) LIKE '%mytext%'
Pertanyaan ini secara berkesan menghapuskan teg HTML daripada kandungan, membolehkan carian berdasarkan kata kunci yang tepat. Fungsi fnStripTags memastikan bahawa kata kunci hanya ditemui dalam teks sebenar, bukan dalam teg HTML.
Dengan menggunakan fungsi tersuai ini, adalah mungkin untuk mengekstrak rekod yang memenuhi kriteria yang dikehendaki dengan tepat, walaupun apabila teg HTML digunakan hadir dalam data teks.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Rekod Pangkalan Data untuk Kata Kunci Semasa Mengabaikan Teg HTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!