Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menjana Slug Mesra URL dengan Tanda Sempang Hanya dalam PHP?

Bagaimana untuk Menjana Slug Mesra URL dengan Tanda Sempang Hanya dalam PHP?

DDD
DDDasal
2024-10-26 17:59:30579semak imbas

How to Generate URL-Friendly Slugs with Hyphens Only in PHP?

Penjanaan Slug Mesra URL dengan Tanda Sempang Sahaja

Pembersihan rentetan adalah penting untuk mencipta rentetan mesra URL, yang dikenali sebagai slug. Slug ini memudahkan navigasi mudah dan pengoptimuman enjin carian. Untuk menukar rentetan kepada slug dengan pembatas tanda sempang tunggal, mengalih keluar semua aksara dan ruang bukan abjad angka, pertimbangkan pendekatan berikut:

1. Alih Keluar Aksara Bukan Penting:
Menggunakan ungkapan biasa, kami boleh mengenal pasti semua aksara dan ruang bukan abjad. Ini dialihkan untuk memastikan slug bersih.

2. Gantikan Ruang dengan Sempang:
Ruang dalam rentetan hendaklah digantikan dengan sempang (-) untuk membuat pembatas antara perkataan. Ini memastikan kebolehbacaan dalam slug.

Contoh:

Pertimbangkan rentetan:

This, is the URL!

Menggunakan algoritma di atas, kami mendapat slug:

this-is-the-url

Pelaksanaan dalam PHP:

Berikut ialah fungsi PHP yang melaksanakan algoritma penjanaan slug:

<code class="php">function slug($z){
    $z = strtolower($z);
    $z = preg_replace('/[^a-z0-9 -]+/', '', $z);
    $z = str_replace(' ', '-', $z);
    return trim($z, '-');
}</code>

Penggunaan:

Untuk menggunakan fungsi ini, hanya sediakan rentetan input sebagai argumen dan tetapkan nilai yang dikembalikan kepada pembolehubah.

Contoh Penggunaan:

<code class="php">$input = 'This, is the URL!';
$slug = slug($input);

echo $slug; // Output: this-is-the-url</code>

Atas ialah kandungan terperinci Bagaimana untuk Menjana Slug Mesra URL dengan Tanda Sempang Hanya dalam PHP?. 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