Mendapatkan kandungan antara dua rentetan yang dipratentukan ialah tugas biasa dalam pelbagai aplikasi PHP. Soalan ini menangani pendekatan terbaik untuk pengekstrakan sedemikian, menggunakan contoh khusus dan meneroka teknik yang berbeza.
Penyelesaian yang disediakan menggunakan fungsi ob_* untuk menangkap output yang disertakan fail luaran (externalfile.html). Fungsi preg_match kemudiannya digunakan untuk mencari kandungan yang dikehendaki antara rentetan {FINDME} dan {/FINDME}.
ob_start(); include('externalfile.html'); $out = ob_get_contents(); ob_end_clean(); preg_match('/{FINDME}(.|\n*)+{\/FINDME}/',$out,$matches); $match = $matches[0]; echo $match;
Penggunaan .|n* memastikan kedua-dua aksara dan pemisah baris disertakan dalam proses pemadanan.
Pendekatan alternatif untuk mengekstrak kandungan antara rentetan adalah untuk menggunakan fungsi substr dan strpos.
$startsAt = strpos($out, "{FINDME}") + strlen("{FINDME}"); $endsAt = strpos($out, "{/FINDME}", $startsAt); $result = substr($out, $startsAt, $endsAt - $startsAt);
Kaedah ini secara jelas mencari kedudukan permulaan dan penamat kandungan yang dikehendaki, memastikan ketepatan dan kecekapan.
Penggunaan penimbalan output dengan fungsi ob_* membolehkan menangkap output daripada skrip atau fungsi lain. Ini amat berguna apabila mengakses kandungan yang tidak boleh diperoleh secara langsung dengan fungsi manipulasi fail.
Dalam kes di mana kandungan sudah tersedia sebagai fail, file_get_contents boleh digunakan untuk akses yang lebih mudah dan terus. Semakan ralat adalah penting untuk mengendalikan keadaan di mana kandungan yang diingini tidak ada.
Dengan menyediakan berbilang penyelesaian dan menjelaskan kelebihan setiap pendekatan, respons ini menangani pertanyaan secara menyeluruh, membimbing pembangun ke arah strategi pengekstrakan kandungan yang optimum.
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Kandungan Antara Rentetan dengan Cekap dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!