Lấy src của thẻ img trong chuỗi code HTML sử dụng asp.net (C#)

Thảo luận trong 'Lập trình web Asp.net' bắt đầu bởi admin, 24/3/17.

  1. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,897
    Đã được thích:
    1,198
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Cách lấy toàn bộ thuộc tính src của thẻ img, images, hình ảnh trong chuỗi code HTML sử dụng asp.net (C#). Lấy toàn bộ đường dẫn url của thẻ img trong 1 chuỗi html truyền vào trong code c#.

    Hôm nay itseovn sẽ hướng dẫn các bạn đoạn code sử dụng thư viện RegularExpressions với hàm Regex với chuỗi ký tự tìm kiếm để tìm kiếm và lấy thuộc tính src của thẻ img nhanh nhất.
    Mã:
    Regex.Matches(strcontent, @"(?<=<img\s+[^>]*?src=(?<q>['""]))(?<url>.+?)(?=\k<q>)")
    
    • Với strcontent là chuỗi được truyền vào.
    Cách lấy và sử dụng như sau:

    Trong trang aspx.cs bạn khai báo thư viện sau:
    Mã:
    using System.Text.RegularExpressions;
    
    Tại nơi bạn muốn lấy các thuộc tính link, url, src của thẻ img, hình ảnh bạn khai báo đoạn code sau vào:
    Mã:
    string strcontent="Diễn đàn seo <img alt='diễn đàn seo' src='https://itseovn.com/styles/default/xenforo/logo.png' />, túi xách hàng hiệu <img alt='salegiatot' src='https://salegiatot.com/logo.jpg' />";
    
    //dùng hàm Regex để lấy ra toàn bộ hình ảnh
    var imgreg = Regex.Matches(strcontent, @"(?<=<img\s+[^>]*?src=(?<q>['""]))(?<url>.+?)(?=\k<q>)");
    
    //khai báo mảng chứa danh sách hình, url, src
    var list = new HashSet<String>(); //HashSet có nhiều hình ảnh giống nhau thì chỉ lấy 1
    
    //duyệt mảng
    foreach (var img in imgreg)
    {
        if (img != "")
        {
            list.Add(img.ToString());
        }
    }
    
    • Với strcontent là chuỗi html chứa thẻ img cần lấy hình.
    • imgreg mảng chứa toàn bộ hình trùng và không trùng lặp.
    • list : chuỗi hình lấy được.
    =>Kết quả nhận được từ ví dụ trên là 2 url. src sau:
     
    Cảm ơn đã xem bài:

    Lấy src của thẻ img trong chuỗi code HTML sử dụng asp.net (C#)