Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Semak sama ada Rentetan Bermula dengan Rentetan Khusus dalam PHP?
Menyemak Jika Rentetan Bermula dengan Rentetan Tertentu
Menentukan sama ada rentetan bermula dengan urutan aksara tertentu boleh menjadi penting dalam pelbagai pengaturcaraan senario. Satu kes penggunaan biasa melibatkan pengesahan kehadiran protokol HTTP dalam URL. Artikel ini menawarkan penyelesaian menyeluruh untuk tugas ini menggunakan kedua-dua versi PHP moden dan lama.
PHP Moden (Versi 8 dan Ke Atas):
PHP 8 memperkenalkan fungsi str_starts_with, yang menyediakan cara mudah untuk menyemak sama ada rentetan bermula dengan yang lain. Sintaksnya adalah mudah:
str_starts_with($string, $prefix)
Contohnya:
<code class="php">$string1 = 'google.com'; $string2 = 'http://www.google.com'; var_dump(str_starts_with($string2, 'http')); // true</code>
PHP Legasi (Versi 7 dan Bawah):
Dalam PHP yang lebih lama versi, fungsi substr boleh digunakan untuk mencapai matlamat yang sama. substr mengekstrak sebahagian daripada rentetan, membolehkan anda membandingkan beberapa aksara pertama dengan awalan yang ditentukan.
substr($string, 0, strlen($prefix)) === $prefix
Contohnya:
<code class="php">substr($string2, 0, 4) === "http"; // true</code>
Kaedah ini memastikan bahawa perbandingan hanya mempertimbangkan bilangan aksara yang ditentukan dari permulaan rentetan. Anda boleh mengubah suai hujah panjang untuk menyemak awalan yang lebih panjang.
Pertimbangan Tambahan:
Apabila berurusan dengan protokol, adalah penting untuk memastikan perbandingan itu cukup khusus untuk mengelakkan padanan rentetan yang tidak diingini. Contohnya, jika anda ingin memastikan bahawa rentetan bermula dengan "http://" dan bukan hanya "http", gunakan yang berikut:
<code class="php">substr($string, 0, 7) === "http://";</code>
Ini memastikan bahawa perbandingan hanya sepadan dengan rentetan yang jelas mulakan dengan "http://", tidak termasuk variasi lain seperti "https" atau "http-protocol.com."
Atas ialah kandungan terperinci Bagaimana untuk Semak sama ada Rentetan Bermula dengan Rentetan Khusus dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!