Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengekstrak URL daripada Teks Dengan Cekap Menggunakan PHP dan Ungkapan Biasa?

Bagaimanakah Saya Boleh Mengekstrak URL daripada Teks Dengan Cekap Menggunakan PHP dan Ungkapan Biasa?

DDD
DDDasal
2024-12-14 12:59:14155semak imbas

How Can I Efficiently Extract URLs from Text Using PHP and Regular Expressions?

Pengeluaran URL yang Cekap daripada Teks dalam PHP

Pertanyaan

Ekstrak URL daripada teks berikut menggunakan ungkapan biasa, khususnya preg_match():

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

Jawapan

Untuk mengekstrak URL daripada rentetan yang disediakan, memanfaatkan ungkapan biasa ialah pendekatan yang sesuai. Satu corak regex yang berkesan ialah:

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

Rex ini sepadan dengan URL yang sah dengan memastikan ia bermula dengan "http" atau "https," mengandungi domain tanpa ruang atau aksara khas dan secara pilihan termasuk parameter atau maklumat laluan.

Walau bagaimanapun, terdapat had untuk dipertimbangkan. URL yang cacat, seperti "http://google:ha.ckers.org," mungkin tidak ditapis sepenuhnya oleh corak ini.

Sebagai alternatif, anda boleh menggunakan fungsi WordPress berikut:

make_clickable($string);

Fungsi ini direka khusus untuk menukar teks biasa kepada rentetan berformat dengan URL boleh klik, menyediakan kaedah yang mantap untuk pengekstrakan URL.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekstrak URL daripada Teks Dengan Cekap Menggunakan PHP dan Ungkapan Biasa?. 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