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!