Cara Mengasingkan Rentetan Antara Aksara dalam PHP
Untuk senario di mana anda perlu mendapatkan semula bahagian tertentu rentetan, PHP menyediakan alatan di luar fungsi substr() standard. Artikel ini membincangkan pengekstrakan subrentetan antara dua aksara yang ditetapkan.
Penyelesaian 1: Menggunakan Ungkapan Biasa
Satu pendekatan melibatkan penggunaan ungkapan biasa (regex) dengan preg_match() fungsi. Begini caranya:
<code class="php">$input = "[modid=256]"; preg_match('~=(.*?)]~', $input, $output); echo $output[1]; // Output: 256</code>
Dalam sintaks regex, (.*?) sepadan dengan mana-mana jujukan aksara sehingga kehadiran aksara kedua. Urutan yang ditangkap kemudiannya diberikan kepada indeks pertama tatasusunan $output.
Penyelesaian Alternatif 2: Menggunakan Manipulasi Rentetan
Sebagai alternatif, anda boleh memanipulasi rentetan secara terus menggunakan PHP fungsi rentetan:
<code class="php">$firstChar = '='; $secondChar = ']'; $substring = substr($input, strpos($input, $firstChar) + 1, strrpos($input, $secondChar) - strpos($input, $firstChar) - 1); echo $substring; // Output: 256</code>
Pendekatan ini menggunakan strpos() untuk mencari kedudukan permulaan dan penamat subrentetan dalam rentetan input.
Contoh Demo dan Kerja
Jika anda sedang mencari demonstrasi langsung, anda boleh menyemak coretan kod berikut dalam talian di http://codepad.viper-7.com/0eD2ns.
Atas ialah kandungan terperinci Bagaimana untuk mengekstrak rentetan antara dua aksara dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!