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

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

Patricia Arquette
Patricia Arquetteasal
2024-12-09 18:49:11285semak imbas

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

Mengekstrak URL daripada Teks dalam PHP

Masalah:

Bagaimana URL boleh diekstrak daripada rentetan teks yang diberikan dalam PHP menggunakan biasa ekspresi?

Penyelesaian:

Fail wp-includes/formatting.php dalam versi WordPress terkini menyediakan fungsi kompleks yang dipanggil make_clickable yang boleh berguna untuk tugas ini. Walau bagaimanapun, pendekatan yang lebih mudah melibatkan penggunaan ungkapan biasa:

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

Reeks ini sepadan dengan URL dengan ciri berikut:

  • Mana-mana URL yang sah bermula dengan "http" atau "https "
  • Nombor port pilihan yang disertakan dalam kurungan
  • Tiada ruang putih, kurungan, kurungan sudut atau petikan yang dibenarkan dengan aksara mengekor pilihan seperti garis miring ke hadapan

Perlu ambil perhatian bahawa sesetengah URL yang tidak betul mungkin tidak dialih keluar oleh regex ini, seperti dalam contoh "http://google: ha.ckers.org".

Tambahan Sumber:

  • [Cara meniru Gelagat Auto-Pautan StackOverflow](masukkan pautan di sini)

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekstrak URL daripada Teks Menggunakan Ungkapan Biasa 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