Code Regex.Matches lọc lấy href, url trong đoạn file html

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

  1. admin

    admin Phạm Công Sơn Thành viên BQT

    Tham gia ngày:
    22/5/13
    Bài viết:
    4,236
    Đã được thích:
    936
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Chia sẻ Code Regex.Matches lấy toán bộ thuộc tính href, url, đường dẫn của website bất kỳ trong đoạn file html truyền vào. Code này sẽ lọc và lấy toàn bộ thẻ href link của website truyền vào bằng mã html.
    Mã:
      public HashSet<String> getUrlLink(string strcontent)
      {
           var Linkreg = Regex.Matches(strcontent, @"(?<=<a\s+[^>]*?href=(?<q>['""]))(?<url>.+?)(?=\k<q>)");
           var list = new HashSet<String>(); //HashSet trùng nhau thì không lấy
           foreach (var Link in Linkreg)
            {
                   if (Link.ToString() != "" )
                   {
                           list.Add(Link.ToString());
                    }
             }
             return list;
      }
    
    • Với hàm getUrlLink() lấy và trả về 1 list danh sách các thẻ URL.
    • strcontent: biến dữ liệu chưa toàn bộ code file chuỗi, text,... html cần lọc.
    • Hàm sẽ được trả về là 1 chuỗi String không trung lắp nhau về dữ liệu bên trong.
    Để lấy dữ liệu (get data HashSet<String>) từ chuỗi String này bạn chỉ cần chạy 1 vòng lặp foreach là lấy được ngay.
    VD:
    Mã:
    var list = new HashSet<String>();
    string strContentAll = "<a href='https://itseovn.com'>diễn đàn seo</a>, túi xách hàng hiệu <a href='https://salegiatot.com'>Milistore</a>";
    
    list = getUrlLink(strContentAll );
    foreach (var item in list)
    {
           //giá trị nằm trong item, chỉ cần gọi item là lấy được ngay giá trị.
    }
    
     
    Cảm ơn đã xem bài:

    Code Regex.Matches lọc lấy href, url trong đoạn file html

    danh sách diễn đàn rao vặt gov chất lượng


Like và Share ủng hộ ITSEOVN