Bagaimanakah PHP mengira kedudukan kejadian terakhir rentetan tertentu dalam rentetan sasaran (tidak sensitif huruf besar-besaran)? Ini adalah masalah yang sering dihadapi oleh banyak pembangun PHP semasa memproses rentetan. Artikel ini akan menunjukkan cara menggunakan fungsi terbina dalam PHP untuk melaksanakan fungsi ini melalui contoh kod untuk membantu pembaca memahami dan menggunakannya dengan lebih baik. Mari kita ikuti panduan editor PHP Xiaoxin dan terokai cara melaksanakan teknik ini.
Kedudukan kejadian terakhir rentetan tidak peka huruf besar-besaran dalam PHP
Petikan
Dalam php, mengira kedudukan kejadian terakhir rentetan tertentu dalam rentetan sasaran (tidak sensitif huruf besar-besaran) ialah tugas biasa dalam pemprosesan teks. Artikel ini akan memperincikan cara menggunakan fungsi terbina dalam PHP dan ungkapan biasa untuk mencapai fungsi ini.
Gunakan fungsi terbina dalam strrpos()
strrpos()
Fungsi ini boleh digunakan untuk mencari kejadian terakhir subrentetan yang ditentukan dalam rentetan, tanpa peka huruf besar-besaran. Sintaksnya adalah seperti berikut:
int strrpos(string $haystack, string $needle, int $offset = 0)
Antaranya:
$haystack
: rentetan sasaran$needle
: Subrentetan untuk dicari$offset
: Offset pilihan, menyatakan kedudukan dalam rentetan untuk mula mencari (lalai ialah 0) Jika subrentetan ditemui, fungsi mengembalikan kedudukan kejadian terakhirnya, jika tidak, -1 dikembalikan.
Contoh:
$haystack = "Hello, world! Hello, PHP!"; $needle = "hello"; $result = strrpos($haystack, $needle, 10); // 从偏移量 10 开始搜索 if ($result !== -1) { echo "子字符串最后一次出现的位置:$result"; }
Output:
子字符串最后一次出现的位置:21
Gunakan ungkapan biasa
Ekspresi biasa ialah alat padanan corak yang berkuasa yang juga boleh digunakan untuk mencari kejadian terakhir subrentetan dalam rentetan. Corak ungkapan biasa .*?
boleh digunakan untuk memadankan sebarang jujukan aksara utama sehingga subrentetan ditemui.
Contoh:
$haystack = "Hello, world! Hello, PHP!"; $needle = "hello"; $pattern = "/.*?{$needle}/i"; // 使用不区分大小写的标志 i $result = preg_match($pattern, $haystack, $matches); if ($result) { echo "子字符串最后一次出现的位置:".strlen($matches[0]) - strlen($needle); }
Output:
子字符串最后一次出现的位置:21
Ringkasan
PHP menyediakan berbilang kaedah untuk mengira kedudukan kejadian terakhir rentetan yang ditentukan dalam rentetan sasaran, secara tidak sensitif huruf besar-besaran. Fungsi terbina dalam strrpos()
cari kejadian terakhir subrentetan dengan cepat dan mudah, manakala ungkapan biasa menawarkan pilihan yang lebih fleksibel. Bergantung pada keperluan khusus aplikasi anda, memilih kaedah yang sesuai boleh meningkatkan kecekapan dan ketepatan kod anda.
Atas ialah kandungan terperinci Bagaimanakah PHP mengira kejadian terakhir rentetan tertentu dalam rentetan sasaran (tidak sensitif huruf besar-besaran). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!