Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengeluarkan URL dengan Cekap daripada Teks dalam PHP?

Bagaimanakah Saya Boleh Mengeluarkan URL dengan Cekap daripada Teks dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-12-21 14:46:14342semak imbas

How Can I Efficiently Extract URLs from Text in PHP?

Mengekstrak URL daripada Teks dalam PHP: Teknik Berkesan

Apabila bekerja dengan data teks dalam PHP, mengekstrak URL ialah tugas biasa. Dengan bantuan ungkapan biasa, anda boleh mengenal pasti dan menghuraikan corak URL daripada rentetan teks dengan cekap.

Pendekatan Ungkapan Biasa

Satu kaedah untuk pengekstrakan URL ialah menggunakan ungkapan biasa, terutamanya preg_match(). Pertimbangkan contoh berikut:

$string = "this is my friend's website http://example.com I think it is cool";

preg_match_all('#\bhttps?://[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/))#', $string, $match);

Ungkapan biasa ini akan sepadan dengan semua URL yang sah dalam rentetan teks, termasuk awalan "http://" dan "https://".

Fungsi WordPress

WordPress menyediakan fungsi berguna yang dipanggil make_clickable(), yang mengambil teks biasa sebagai input dan menjana output berformat. Fungsi ini biasanya digunakan untuk mengubah teks menjadi pautan HTML boleh klik, termasuk URL.

Untuk mengekstrak URL menggunakan make_clickable(), anda boleh memuat turun versi WordPress terkini dan merujuk kepada fail wp-includes/formatting.php. Fungsi ini sesuai untuk mengendalikan format teks yang kompleks dan termasuk pelbagai syarat untuk mengelakkan pengekstrakan URL yang tidak betul.

Sumber Tambahan

Selain daripada teknik ini, anda juga mungkin menemui sumber berikut bermanfaat:

  • [Cara meniru Pautan Auto StackOverflow Kelakuan](https://wordpress.stackexchange.com/questions/15691/how-to-mimic-stackoverflow-auto-link-behavior)

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan URL dengan Cekap daripada Teks 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