Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengekstrak ID Video YouTube daripada Rentetan Menggunakan Ungkapan Biasa?
Masalah:
Anda mempunyai medan teks di mana pengguna boleh memasukkan sewenang-wenangnya teks, dan anda perlu mengekstrak semua URL video YouTube dan yang sepadan dengannya ID.
Penyelesaian:
Untuk mengekstrak ID video YouTube daripada rentetan menggunakan ungkapan biasa, ikut langkah berikut:
Tentukan Regex Corak:
https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&+%\w.-]*(?:['"][^<>]*>|</a>))[?=&+%\w.-]*
Penjelasan:
Gunakan Regex untuk Menghuraikan Teks:
Gunakan fungsi re.findall untuk mencari semua URL video YouTube dalam teks.
import re def find_video_ids(text): pattern = r'https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube(?:-nocookie)?\.com\S*?[^\w\s-])([\w-]{11})(?=[^\w-]|$)(?![?=&+%\w.-]*(?:['"][^<>]*>|</a>))[?=&+%\w.-]*' return re.findall(pattern, text)
Ekstrak ID Video:
Fungsi re.findall mengembalikan senarai URL video yang dipadankan. Anda boleh mengakses ID video daripada setiap URL menggunakan [:11] (ID video YouTube sepanjang 11 aksara).
def get_video_ids(text): video_urls = find_video_ids(text) return [url[:11] for url in video_urls]
Contoh:
text = """ Lorem Ipsum is simply dummy text. https://www.youtube.com/watch?v=DUQi_R4SgWo of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. https://www.youtube.com/watch?v=A_6gNZCkajU&feature=relmfu It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.""" video_ids = get_video_ids(text) print(video_ids) # Output: ['DUQi_R4SgWo', 'A_6gNZCkajU']
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak ID Video YouTube daripada Rentetan Menggunakan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!