Tôi đang cố chạy preg_match để trích xuất thuộc tính SRC từ thẻ IMG đầu tiên trong một bài viết (trong trường hợp này, được lưu trong $ row-> introtext).Kết hợp thuộc tính SRC của thẻ IMG bằng cách sử dụng preg_match
preg_match('/\< *[img][^\>]*[src] *= *[\"\']{0,1}([^\"\']*)/i', $row->introtext, $matches);
Thay vì nhận được một cái gì đó giống như
images/stories/otakuzoku1.jpg
từ
<img src="images/stories/otakuzoku1.jpg" border="0" alt="Inside Otakuzoku's store" />
tôi nhận được chỉ
0
Các regex nên thể đúng, nhưng tôi không thể nói lý do tại sao nó xuất hiện để phù hợp với attribu biên giới te và không phải thuộc tính src. Ngoài ra, nếu bạn đã kiên nhẫn đọc nó từ xa mà không bỏ qua trường trả lời và gõ 'sử dụng trình phân tích cú pháp HTML/XML', có thể là một hướng dẫn tốt cho một đề xuất khi tôi gặp khó khăn trong việc tìm kiếm một cái có thể áp dụng cho PHP 4.
PHP 4.4.7
này đã làm các trick. Không phải là giải pháp 'lý tưởng' thực sự phân tích cú pháp HTML, mà là một giải pháp hoạt động và đưa ra kết quả cần thiết. Cảm ơn! – KyokoHunter
dưới dạng ghi chú bên, $ match [0] chứa thẻ IMG đầy đủ và $ match [1] chứa URI nguồn. –