Rumah > pembangunan bahagian belakang > tutorial php > Cari dan betulkan kata -kata salah eja dengan pspell

Cari dan betulkan kata -kata salah eja dengan pspell

Joseph Gordon-Levitt
Lepaskan: 2025-02-22 10:56:10
asal
984 orang telah melayarinya

Find and Correct Misspelled Words with Pspell

mata teras

    Modul PSPell PHP boleh digunakan untuk memeriksa ejaan perkataan dan mencadangkan kata -kata alternatif berdasarkan kamus lalainya, yang sangat berharga untuk meningkatkan pengalaman pengguna laman web, terutama jika laman web mempunyai keupayaan carian atau penyerahan pengguna.
  • Modul PSPELL boleh dikonfigurasikan untuk mengabaikan kata -kata di bawah had aksara tertentu, berjalan pada kelajuan yang berbeza, dan bahkan dapat menambah kamus lalai dengan kamus tersuai, memberikan tahap kawalan ejaan yang tinggi.
  • Walaupun PSPell adalah alat pembetulan ejaan yang kuat, ia tidak sempurna dan harus digunakan dengan berhati -hati kerana ia tidak memeriksa tatabahasa atau konteks dan mungkin tidak mengenali istilah profesional atau teknikal yang tidak termasuk dalam kamusnya. Untuk ketepatan yang lebih baik, kata -kata boleh ditambah kepada kamus, atau konfigurasi PSPELL boleh diselaraskan untuk memenuhi keperluan khusus.
setiap daripada kita telah membuat kesilapan ejaan dalam carian Google, seperti "muzik alternatif." Anda mungkin menyedari bahawa Google akan cuba membantu anda dengan mengatakan "Adakah anda bermaksud muzik alternatif?" Sekiranya laman web anda mempunyai ciri carian, menunjukkan salah ejaan apabila tiada hasil yang dijumpai atau terlalu sedikit hasilnya adalah ciri yang sangat berguna, terutamanya jika bahasa Inggeris miskin pelawat boleh menyebabkan anda terlepas peluang jualan. Mujurlah, modul PSPell PHP membolehkan anda menyemak ejaan kata -kata dan menggantikannya mengikut cadangan kamus lalainya (anda juga boleh membuat kamus tersuai).

Pertama, kita perlu menyemak sama ada PSPell dipasang:

<?php $config_dic= pspell_config_create ('en'); ?>
Salin selepas log masuk
Jika ralat berlaku, ini bermakna ia tidak dipasang. Pada sistem Linux, ikuti arahan di bawah untuk menyelesaikan masalah ini. (Langkah -langkah khusus untuk memasang PSPell dalam sistem Linux harus ditambah di sini)

Gunakan kamus lalai

Berikut adalah fungsi kecil yang membantu anda memahami bagaimana PSPELL berfungsi:

<?php
function orthograph($string) {
    $config_dic = pspell_config_create('en');
    pspell_config_ignore($config_dic, 3);
    pspell_config_mode($config_dic, PSPELL_FAST);
    $dictionary = pspell_new_config($config_dic);
    $replacement_suggest = false;
    $string = explode(' ', trim(str_replace(',', ' ', $string)));
    foreach ($string as $key => $value) {
        if (!pspell_check($dictionary, $value)) {
            $suggestion = pspell_suggest($dictionary, $value);
            if (strtolower($suggestion[0]) != strtolower($value)) {
                $string[$key] = $suggestion[0];
                $replacement_suggest = true;
            }
        }
    }
    return $replacement_suggest ? implode(' ', $string) : null;
}
?>
Salin selepas log masuk
Untuk menggunakan fungsi ini, lulus parameter rentetan:

<?php
$search = $_POST['input'];
$suggestion_spell = orthograph($search);
if ($suggestion_spell) {
    echo "建议拼写:$suggestion_spell";
}
?>
Salin selepas log masuk
Jika rentetan yang dikemukakan kepada pspell adalah "di sini adalah perkataan salah eja saya", skrip sebelumnya akan kembali: "Ejaan yang dicadangkan: inilah kata salah saya". Walau bagaimanapun, PSPell tidak semua-dalam-satu, terutamanya jika anda secara automatik menggunakan alternatif ejaan yang dicadangkan secara automatik! Untuk hasil terbaik, anda boleh menggunakan semua cadangan yang disediakan oleh PSPELL. Skrip berikut mengembalikan dua puluh cadangan yang mengelilingi perkataan "lappin": (contoh kod harus ditambah di sini)

Anda perlu mengkonfigurasi kamus untuk memulakan PSPELL. Untuk melakukan ini, buat deskriptor yang menunjuk pada fail konfigurasi kamus, ubah beberapa pilihan untuk deskriptor ini, dan kemudian gunakan kamus konfigurasi untuk membuat deskriptor kedua untuk kamus sebenar. Jika ini agak rumit, jangan risau: kod berubah sangat sedikit, dan biasanya anda boleh menyalinnya dari skrip lain. Tetapi di sini kita akan melihatnya langkah demi langkah. Berikut adalah kod untuk kamus konfigurasi: (Contoh kod harus ditambah di sini dan fungsi setiap fungsi dalam kod harus dijelaskan)

dari titik ini, anda boleh menggunakan kamus dalam dua cara:

  1. pspell_check($dictionary, "word") kembali benar jika "perkataan" berada dalam kamus.
  2. pspell_suggest($dictionary, "word") Jika "perkataan" tidak dalam kamus, pelbagai perkataan yang dicadangkan dikembalikan (elemen pertama array ini adalah calon yang paling mungkin). Bilangan perkataan yang diperoleh berbeza, tetapi anda boleh mendapatkan lebih banyak dengan pspell_slow dan kurang dengan pspell_fast.

Sekarang bahawa kamus sudah siap, kami memotong rentetan yang diluluskan sebagai parameter untuk mendapatkan array perkataan: "Di sini ayat saya" menjadi pelbagai tiga elemen, "di sini", "saya", dan "ayat". Kami kemudian menyemak ejaan setiap perkataan menggunakan kamus lalai. Kerana ia tidak suka koma, kami masih memadamkannya sebelum meletupkan rentetan. Jika perkataan melebihi tiga aksara, sahkannya, dan jika ejaan itu salah, kami melakukan perkara berikut: (arahan langkah harus ditambah di sini dan ungkapan bahasa harus diperbaiki)

tambahkan kamus tersuai ke pspell

Jika perkataan tidak berada dalam kamus lalai, anda boleh dengan mudah menambahkannya. Walau bagaimanapun, anda juga boleh membuat kamus tersuai untuk digunakan dengan kamus lalai.

Buat direktori PHP di laman web anda dengan kebenaran tulis dan memulakan kamus baru di dalamnya. Untuk membuat fail kamus baru bernama perso.pws, gunakan skrip berikut: (Contoh kod harus ditambah di sini dan terangkan peranan fungsi individu dalam kod, dan bagaimana untuk menambah kata -kata ke kamus tersuai)

Kesimpulan

PSPELL boleh membantu anda meningkatkan penukaran dengan menyediakan pelawat dengan cara untuk membetulkan dan melihat kesilapan mereka secara automatik. Ia meningkatkan ketepatan bahasa keseluruhan pengalaman carian, penyerahan forum, dan laman web dengan kandungan yang dikemukakan pengguna. Sekiranya anda ingin melihat PSPELL, atau melaksanakannya dengan cara yang menarik, beritahu kami dalam komen di bawah!

Soalan Lazim (FAQ) mengenai Pembetulan Typos

(bahagian Soalan Lazim harus ditambah di sini, dan FAQ asal harus digilap dan ditulis semula untuk menjadikannya lebih ringkas dan mudah difahami)

Atas ialah kandungan terperinci Cari dan betulkan kata -kata salah eja dengan pspell. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan