Hướng dẫn
Quảng cáo

Thay thế src image trong HTML bằng PHP

Hôm nay chúng tôi sẽ hướng dẫn bạn cách thay thế src image trong HTML bằng PHP.

Đôi khi chúng ta cần thay đổi thuộc tính src của hình ảnh bằng url mới khi lấy dữ liệu động từ cơ sở dữ liệu.

Giả sử rằng chúng ta sẽ lấy nội dung html trong mô tả sản phẩm từ cơ sở dữ liệu bằng cách sử dụng mã php bên dưới.

Ví dụ

$data['description']=html_entity_decode($productData['description'],ENT_QUOTES,'UTF-8');


Kết quả trả về HTML như sau:

Ví dụ

<span> Product Name 1 <span>
<a href="#"><img  src="../images/products/image1.jpg"></a>
<span> Product Name 2 <span>
<a href="#"><img  src="../images/products/image2.jpg"></a>

Có thể có nhiều hình ảnh trong phần mô tả sản phẩm, nhưng trong ví dụ của chúng ta thì có 2 hình ảnh.

Ở đây, chúng tôi sẽ thay thế thuộc tính src của mọi hình ảnh và thêm thuộc tính data-src với url hình ảnh cũ.

Ví dụ

$dom = new DOMDocument();
$dom->loadHTML($data['description']);
$images = $dom->getElementsByTagName('img');
 
foreach ($images as $image) {
 $old_src = $image->getAttribute('src');
 $new_src = 'image/products/newimage.jpg';
 $image->setAttribute('src', $new_src);
 $image->setAttribute('data-src', $old_src);
}
 
$data['description'] = $dom->saveHTML();

Cách nó hoạt động ra sao?

Instantiate DOMDocumentclass cho phép bạn làm việc với HTML một cách logic.

Ví dụ

$dom = new DOMDocument();

Tải nội dung HTML đã giải mã.

Ví dụ

$dom->loadHTML($data['description']);

Nhận tất cả hình ảnh từ dom bằng getElementsByTagName.

Ví dụ

$images = $dom->getElementsByTagName('img');

Lặp qua từng hình ảnh và thay thế src.

Nhận giá trị của thuộc tính src từ thẻ img.

Ví dụ

$image->getAttribute('src');

Đặt giá trị thuộc tính src trong thẻ img.

Ví dụ

$tag->setAttribute('src', $new_src);

Lưu các thay đổi.

Ví dụ

$dom->saveHTML();


Đây là cách thay thế src nhiều hình ảnh trong mã HTL bằng PHP. Chúc các bạn thành công

Bài viết này đã giúp ích cho bạn?

Bài viết mới

Advertisements