09/10/2018, 23:33

Tách file ảnh trong code html

Hi, có bạn nào biết tách ảnh từ tag <img> trong 1 đoạn code html không, giúp mình với.

Input: - đoạn code html.
Output: - danh sách các ảnh có trong nội dung file html từ tag <img >

Cảm ơn rất nhiều.

ps: dùng PHP script
zixzaxzo viết 01:36 ngày 10/10/2018
Mình có 1 đoạn code lấy đường dẫn file ảnh đầu tiên trong 1 đoạn HTML, nhưng nó làm trên C#, bạn có thể dựa vào đó để viết lại tren PHP nhé.


string GetFirstImageInContent(string content)

{

content = content.Replace("<IMG","<img");

int ifound = 1111;

while(ifound > -1)

{

string oldstr = "";

if(ifound != 1111)

for(int i=ifound; i < content.Length; i ++)

{

if(content.Substring(i,1).Equals(">"))

{

oldstr = content.Substring(ifound,i - ifound + 1);

int isrc1 = oldstr.IndexOf("src=\"");

int isrc2 = -1;

for(int j = isrc1 + 5; j < oldstr.Length ; j ++)

{

if(oldstr.Substring(j,1).Equals("\""))

{isrc2 = j;break;}

}

string str_src = oldstr.Substring(isrc1 + 5,isrc2 - isrc1 - 5);

return str_src;

}

}// end for

ifound = content.IndexOf("<img ");

}

return "";

}
ronin viết 01:45 ngày 10/10/2018
Cám ơn bạn nhiều, mình không rành về C# lắm nhưng mình sẽ đọc để hiểu và chuyển sang PHP.
anhtuannd viết 01:49 ngày 10/10/2018
Thử xem nhé, code vội không test, mà cách này cũng ngu ngu:
PHP Code:
<?php
$htmlcode 
'TD><IMG src="vnn2_files/images1_chaphanh.jpg" width=400 border=0>
</TD></TR>TD><IMG src="vnn2_files/images2_chaphanh.jpg" width=400 border=0>
</TD></TR>TD><IMG src="vnn2_files/images3_chaphanh.jpg" width=400 border=0> 
</TD></TR>TD><IMG src="vnn2_files/images4_chaphanh.jpg" width=400 border=0> </TD></TR>'
;
str_replace('<img','<IMG',$htmlcode);
preg_match_all('#<IMG(.*?)src="(.*?)"#'$htmlcode$link);
print_r($link***91;2***93;);
?>
ronin viết 01:38 ngày 10/10/2018
Code chạy đúng ý mình rồi . Cám ơn các bạn nhiều nha vì đã giúp đỡ.
3do viết 01:37 ngày 10/10/2018
cách chính qui và nhanh là xài xml parse
conmalele viết 01:37 ngày 10/10/2018
Quote Được gửi bởi 3do View Post
cách chính qui và nhanh là xài xml parse
Ặc, ai cũng kêu XML chậm mà kêu là chính qui và nhanh, mấy tài liệu performance đều nói nên dùng preg_match để parse XML nữa mà.

Mà sao cái code trên kia lại replace img thành IMG nhỉ, bỏ thêm cái modifier /i là được rồi, tự nhiên thừa thêm 1 bước xử lý
3do viết 01:44 ngày 10/10/2018
hehe, sorry bác. Có lẽ nó sẽ chậm hơn chút đỉnh
Bài liên quan
0