Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menghapuskan Aksara Bukan Abjad Angka dan Menggantikan Ruang dengan Tanda Sempang Menggunakan Ungkapan Biasa?

Bagaimana untuk Menghapuskan Aksara Bukan Abjad Angka dan Menggantikan Ruang dengan Tanda Sempang Menggunakan Ungkapan Biasa?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-23 22:05:29660semak imbas

How to Strip Non-Alphanumeric Characters and Replace Spaces with Hyphens Using Regular Expressions?

Membuang Aksara Bukan Abjad Angka dan Menggantikan Ruang dengan Tanda Sempang

Masalah: Pengguna menghadapi cabaran apabila menukar tajuk kepada URL yang hanya mengandungi huruf, nombor dan sempang. Mereka mencari cara untuk menanggalkan aksara khas dan menggantikan ruang dengan sempang.

Penyelesaian: Ungkapan Biasa (Regex)

Ekspresi biasa ialah alat yang berkuasa untuk pemadanan corak dan rentetan manipulasi. Ia boleh digunakan untuk mencapai transformasi yang diingini.

Kod:

<code class="php">function clean($string) {
    // Replace spaces with hyphens
    $string = str_replace(' ', '-', $string);
    
    // Remove non-alphanumeric characters and hyphens
    $string = preg_replace('/[^A-Za-z0-9\-]/', '', $string);
    
    // Replace multiple hyphens with a single one
    $string = preg_replace('/-+/', '-', $string);
    
    return $string;
}</code>

Penggunaan:

<code class="php">echo clean('a|"bc!@£de^&amp;$f g');</code>

Output:

abcdef-g

Pengubahsuaian Tambahan:

Untuk mengelakkan berbilang tanda sempang daripada muncul berturut-turut, ganti baris terakhir fungsi bersih dengan:

<code class="php">return preg_replace('/-+/', '-', $string);</code>

Atas ialah kandungan terperinci Bagaimana untuk Menghapuskan Aksara Bukan Abjad Angka dan Menggantikan Ruang dengan Tanda Sempang Menggunakan Ungkapan Biasa?. 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