• Trang chủ
  • Phần mềm
  • Demo
  • Bảng giá
  • Dịch vụ
    • Cấu hình chiến dịch
    • Hỗ trợ chuyên nghiệp
  • Add-ons
  • Tài liệu
  • Kiến thức
  • Tài khoản
    • Đăng nhập
    • Đăng ký
  • Trang chủ
  • Phần mềm
  • Demo
  • Bảng giá
  • Dịch vụ
    • Cấu hình chiến dịch
    • Hỗ trợ chuyên nghiệp
  • Add-ons
  • Tài liệu
  • Kiến thức
  • Tài khoản
    • Đăng nhập
    • Đăng ký
Trang chủ/Kiến thức/Nâng cao/Lưu ảnh trong bài viết lên server khác rồi thay thế các URL ảnh cũ
Tìm kiếm phổ biến:leech tin tức, leech truyện, leech sản phẩm

Lưu ảnh trong bài viết lên server khác rồi thay thế các URL ảnh cũ

403 lượt xem 5 24/03/2019 Updated on 25/03/2019

Hôm nay trên Group có bạn hỏi về việc lưu hình ảnh trong bài viết sang 1 host khác rồi thay thế URL ảnh trong bài viết bằng URL ảnh mới tại host đó.

Với số lượng Hooks và tài liệu về Hooks hiện tại thì mình xin chia sẻ cách làm như sau:

Sử dụng hook kdn/post/wp-post để làm công việc này.

Lấy ra các URL ảnh trong nội dung bài viết, sau đó xử lý các URL này và xuất ra các URL mới. Cuối cùng thay thế các URL ảnh cũ bằng URL ảnh mới.

Code như sau, trong code mình đã viết comment rất chi tiết:

<?php
    // Filter
    add_filter('kdn/post/wp-post', 'kdn_post_wp_post', 10, 9);
    
    // Callback
    function kdn_post_wp_post($data, $postData, $postBot, $postSaver, $siteId, $postUrl, $urlTuple, $isRecrawl, $isFirstPage) {
    	
    	// Tìm kiếm URL nằm trong thuộc tính "src" và gán vào $matches
    	preg_match_all('/src="(.+?)"/i', $data['post_content'], $matches);
    	
    	// Khởi tạo mảng mới là $newMatches
    	$newMatches = [];
    	
    	/**
    	 * Thao tác tiếp theo:
    	 * - Phân tích mảng $matches
    	 * - Tạo các item cho mảng $newMatches theo dạng:
    	 *		[
    	 *          ['old_url' => $oldUrl, 'new_url' => $newUrl],
    	 *          ['old_url' => $oldUrl, 'new_url' => $newUrl],
    	 *          ...
    	 *      ]
    	 * - Phân tích mảng $newMatches
    	 * - Tìm $oldUrl và thay thế bằng $newUrl trong $data['post_content']
    	 * - Xuất ra mảng $data sau khi Tìm và thay thế
    	 */
    
    	// Phân tích mảng $matches
    	foreach ($matches[1] as $key => $oldUrl) {
    		
    		// Khởi tạo $newUrl
    		$newUrl = '';
    		
    		// Gán $oldUrl vào mỗi item của $newMatches
    		$newMatches[$key]['old_url'] = $oldUrl;
    		
    		// Sử dụng $oldUrl để làm những thứ bạn muốn tại đây
    		// Sau đó gán kết quả mới vào $newUrl
    
//		    $newUrl = uploadToNewHost($oldUrl);	    // Ví dụ
    		
    		// Gán $newUrl vào mỗi item của $newMatches
    		$newMatches[$key]['new_url'] = $newUrl ? $newUrl : $oldUrl;
    	}
    
    	// Phân tích mảng $newMatches
    	// Tìm $oldUrl và thay thế bằng $newUrl trong $data['post_content']
    	foreach ($newMatches as $newMatch) {
    		$data['post_content'] = str_replace($newMatch['old_url'], $newMatch['new_url'], $data['post_content']);
    	}
    	
    	// Xuất ra mảng $data sau khi Tìm và thay thế
    	return $data;
    }
?>

Trên đây chỉ là một cách, còn nhiều cách khác để xử lý trường hợp này. Chúc các bạn thành công!

Bạn có thích nội dung này?

5 Có  1 Không
Kiến thức liên quan
  • Vượt qua cơ chế anti-bot của CloudFlare – bypass cloudflare JS challenge
  • Callback chuyển đổi chữ hoa thành chữ thường và in hoa chữ cái đầu tiên
  • Không phân tích và lưu ảnh đại diện khi thu thập lại
  • Hướng dẫn sửa lỗi lưu tệp đính kèm khi chạy plugin trên localhost
  • Thay đổi post_modified và post_date khi cập nhật (thu thập lại) bài viết
  • Gán post meta cho bài viết con là ID của bài viết cha
Bình luận

Bạn phải đăng nhập để gửi phản hồi.

Nâng cao

  • Lưu ảnh trong bài viết lên server khác rồi thay thế các URL ảnh cũ
  • Vượt qua cơ chế anti-bot của CloudFlare – bypass cloudflare JS challenge
  • Callback chuyển đổi chữ hoa thành chữ thường và in hoa chữ cái đầu tiên
  • Không phân tích và lưu ảnh đại diện khi thu thập lại
  • Hướng dẫn sửa lỗi lưu tệp đính kèm khi chạy plugin trên localhost
  • Thay đổi post_modified và post_date khi cập nhật (thu thập lại) bài viết
Tất cả: 9  

Kiến thức mới

  • Hướng dẫn import mã chiến dịch tự động lấy sản phẩm WooCommerce
  • Advanced DB Cleaner – Tối ưu website wordpress và dọn dẹp database
  • Tổng hợp các trường dữ liệu leech truyện với theme Madara
  • Vượt qua cơ chế anti-bot của CloudFlare – bypass cloudflare JS challenge
  • Callback chuyển đổi chữ hoa thành chữ thường và in hoa chữ cái đầu tiên

Chủ đề mới

  • Hỗ trợ cài đặt chiến dịch lấy tin từ kênh batdongsan.com.vn
  • Lỗi lặp ảnh trong bài viết.
  • Hỗ trợ cài đặt chiến dịch lấy video từ kênh youtube
  • Lazy load
  • Leech truyện không còn sử dụng được hả mọi người!

  WordPress plugin tự động lấy sản phẩm từ bất cứ trang TMĐT nào

PHP Code play video MP4 từ một URL nào đó  

Về chúng tôi

KDN Auto Leech là một phần mềm mở rộng được cài đặt và hoạt động trên website sử dụng mã nguồn mở WordPress. Với phần mềm này bạn hoàn toàn có thể tự động lấy nội dung từ bất cứ trang web nào trong bất kỳ lĩnh vực nào về website của bạn.

Thông tin

  • Giới thiệu
  • Liên hệ
  • Chính sách bảo mật
  • Điều khoản sử dụng
  • Hướng dẫn thanh toán

Danh mục

  • Add-ons
  • Bảng giá
  • Tài liệu sử dụng
  • Kiến thức mở rộng
  • Chương trình Affiliate

Tìm hiểu thêm

  • Blog tản mạn
  • Diễn đàn thảo luận
  • Câu hỏi thường gặp
  • Fanpage chính thức
  • Kênh Youtube chính thức
  • Phiên bản: 2.3.6
  • © 2020 - KDN Auto Leech

Tìm kiếm phổ biến:leech tin tức, leech truyện, leech sản phẩm